Поделиться через


Ошибка компилятора C2533

identifier: конструкторы не разрешены для типа возвращаемого значения

Замечания

Конструктор класса не может иметь возвращаемый тип (даже тип void).

Типичной причиной возникновения этой ошибки является отсутствие точки с запятой между концом определения класса и первой реализацией конструктора. Компилятор считает класс определением типа возвращаемого значения для функции конструктора класса и вызывает ошибку C2533.

Example

В следующем примере создается C2533 и показано, как исправить его:

// C2533.cpp
// compile with: /c
class X {
public:
   X();
};

int X::X() {}   // C2533 - constructor return type not allowed
X::X() {}   // OK - fix by using no return type