0

我正在做一个项目并遇到以下错误

Error (active)    the default constructor of "Input" cannot be referenced -- it is a deleted function EquationSolver  c:\Users\Kim\Documents\Visual Studio 2015\Projects\EquationSolver\EquationSolver\main.cpp 10
Error C2280 'Input::Input(void)': attempting to reference a deleted function  EquationSolver  <project_dir>\main.cpp  10

由于几乎不可能从中找到错误的原因,因此我尝试使用 gcc 进行编译-Wall并得到以下输出

main.cpp: In function 'int main()':
main.cpp:10:9: error: use of deleted function 'Input::Input()'
   Input input;
         ^~~~~
In file included from main.cpp:2:0:
Input.hpp:16:7: note: 'Input::Input()' is implicitly deleted because the default definition would be ill-formed:
 class Input
       ^~~~~
Input.hpp:16:7: error: use of deleted function 'Expressions::Expressions()'
In file included from Input.hpp:11:0,
                 from main.cpp:2:
Expressions.hpp:8:7: note: 'Expressions::Expressions()' is implicitly deleted because the default definition would be ill-formed:
 class Expressions
       ^~~~~~~~~~~
Expressions.hpp:8:7: error: uninitialized reference member in 'class Expressions'
Expressions.hpp:17:8: note: 'Expressions::Vec& Expressions::left' should be initialized
   Vec& left;
        ^~~~
Expressions.hpp:8:7: error: uninitialized reference member in 'class Expressions'
 class Expressions
       ^~~~~~~~~~~
Expressions.hpp:18:8: note: 'Expressions::Vec& Expressions::right' should be initialized
   Vec& right;
        ^~~~~

这个输出更加详细,并且很快帮助我找到了错误的来源&(类成员应该是Vec left,是Vec& left)。

是否可以使 Visual Studio 变得冗长?

将 Visual Studio 放入 时/Wall,我收到 >1800 个警告,大多数与我的项目完全无关,但我仍然只收到这两个错误。

4

0 回答 0