tia*_*c88 14 c++ visual-studio-2010
我正在用Visual C ++编写,并且在编译时会出现此错误:
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets(147,5): error MSB6006: "CL.exe" terminato con il codice 2.
Run Code Online (Sandbox Code Playgroud)
有人知道为什么吗?
提前致谢!
当我通过以下方法忘记return语句时,遇到了相同的错误:
char SpiRAM::write_byte(int address, char data_byte)
{
assert(address >= 0);
assert(address < SRAM_SIZE);
_sram[address] = data_byte;
return data_byte;
}
Run Code Online (Sandbox Code Playgroud)
实际上,您可以看到正确的错误消息,而不是Microsoft的任意错误代码。但是由于错误列表总是在出现错误时被强制显示,因此并不是很明显。该选项卡旁边Error List是另一个选项卡Output,它显示原始错误输出。自从我使用2019年以来,我不确定该选项卡是否在所有版本中都存在,但是在较旧的版本中可能总有类似的东西。也许使用了不同的名称,或者是一个完全独立的窗口而不是与分组Error List。
对于另一个回答者,此处将显示确切的选项卡:error C4700: uninitialized local variable 'm' used
这将使他免于挖掘所有代码的麻烦。=]
而且,如果您忘记了需要返回值的函数的返回值,则会看到: error C4716: 'foo': must return a value
发生这种情况的原因多种多样:
1)我忘记在非空函数中添加return语句。
2)我试图使用未初始化的指针。
3)我写了像for(int i = i; ...)的循环,而不是for(int i = 0; ...)
您可以检查这些代码,这可能会有所帮助。