C ++: предупреждение: C4930: прототипная функция не вызывается (было задано определение переменной?) [Дубликат]

На этот вопрос уже есть ответ:

Есть ли разница между `List x;` и `List x ()` 1 ответ

У меня есть класс, которыйне имее конструктор по умолчанию, я создал переменную без указания параметров по ошибке, но вместо приятной ошибки компилятора я получил ошибку компоновщика, из-за которой я не смог найти строку кода, которая его вызывала.

В конце концов мне удалось найти код, который вызвал это, и только тогда я заметил, что получаю это предупреждение:

C++: warning: C4930: prototyped function not called (was a variable definition intended?)

Что странно, когда я изменил код с:

MyClass foo();

К

MyClass foo;

Я получил ошибку компилятора.

Может кто-нибудь объяснить мне, почему компилятор вдруг начал странно себя вести, это ошибка или что-то в этом роде?

Ответы на вопрос(1)

Ваш ответ на вопрос