Объявление функции C ++ - PullRequest
       1

Объявление функции C ++

2 голосов
/ 14 октября 2011

Я изучал какой-то учебник по C ++ и столкнулся с объявлением функции внутри класса

class CRectangle {
    int x, y;
public:
    int area (void)  {return x*y;}
};

Теперь мне интересно, каково использование void после области int?

Ответы [ 3 ]

3 голосов
/ 14 октября 2011

Тип параметра void в C ++ не нужен. Функция, объявленная с пустым списком аргументов, эквивалентна. Это допустимо по причине того, что код на С может компилироваться без ошибок.

Тип параметра void необходим в C, поскольку функция, объявленная с пустым списком аргументов, принимает любое количество любых типизированных аргументов. Это остаток до ANSI C, также известный как K & R C. K & R C не требовал прототипов функций.

3 голосов
/ 14 октября 2011

void в данном случае означает, что функция не принимает никаких параметров.

Также - синтаксическая ошибка, вы, вероятно, имели в виду {} скобки и у вас точка с запятой не в том месте.

int area (void){ return (x*y); }
1 голос
/ 14 октября 2011

Этот код недействителен. Это должно быть (также изменил пробел, чтобы быть более понятным, но проблема не в этом)

int area(void) { return (x * y); }

int area(void) - подпись функции-члена - int - возвращаемый тип, (void) - пустой список аргументов. Это C-ism, и его не следует использовать в C ++ - int area() означает то же самое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...