| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Разница между постановкой указателя в классе |
| Автор: Alexey91 29.9.2010, 13:51 | ||||
| Компилятор (devcpp) видит разницу, между постановкой символа указателя при инициализации функции-члена. Например, если я напишу так:
То компилятор вызовет ошибку, для него переменные, которые будут использовать в методе newfunc будут не объявленными. Однако, если я напишу так, то все заработает:
В чем разница, и почему так происходит? |
| Автор: bsa 29.9.2010, 13:54 |
| потому что звездочка относится к типу, а не к названию переменной. Т.е. правильно писать type* x, а не type *x. Кстати, ключевое слово class (да и struct) в С++ писать не принято нигде, кроме как в объявлении. Т.е. запись "class X x;" следует писать так: "X x". Это не Си. |
| Автор: EnergoHokum 29.9.2010, 13:56 |
| Во первых, компилятор не dev-cpp, а gcc, а во вторых вот это: A :: *newfunc() на самом деле указатель на функцию-член класса A, не принимающую и не возвращающую параметров. Как то так... |
| Автор: Alexey91 30.9.2010, 14:50 |
| bsa, EnergoHokum Спасибо вам!! +++ |