Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
"идентификатор": конструктор не может возвращать значение
Конструктор не может содержать return
оператор с выражением (даже если выражение имеет тип void
). Это отличается от обычной функции, возвращающей пустоты, где разрешено выражение возвращаемого типа void
. Однако использование инструкции return
без выражения допускается для раннего возврата в конструкторе.
Следующий пример приводит к возникновению ошибки C2534:
// C2534.cpp
// compile with: /c
void void_func() {}
class A {
public:
int i;
A() {
return i; // C2534
return 123; // C2534
return (void)0; // C2534
return void_func(); // C2534
return; // OK
}
};
Предыдущие ошибки могут быть исправлены путем удаления всей return
инструкции или пропуска выражения возврата, если необходимо раннее возвращение.