Suh*_*pta 5 c++ exception visual-c++ visual-c++-2010-express
这是一个程序:
#include <iostream>
using namespace std;
int main() {
cout << "Enter a number";
int i;
cin >> i;
try {
if( i == 0 ) throw 0;
if( i == 2 ) throw "error";
} catch( int i ) {
cout << "can't divide by 0";
}
catch( ... ) {
cout << "catching other exceptions";
}
}
Run Code Online (Sandbox Code Playgroud)
在编译时(Windows 7上的Microsoft Visual C++ 2010 Express),我得到的错误是:
致命错误LNK1169:找到一个或多个多重定义的符号
sap*_*Pro 16
实际上这段代码没有错误.
源文件的数量可能是问题.在同一个编译器中尝试将此代码用作新项目,或尝试从source files
文本区域左侧的选项中删除文件(即您编写代码的位置)
这应该编译然后.
小智 5
最后,我认为我找到了对该问题最合理的解释,因为您知道我们通常在 .cpp 文件中将 main 指定为整数(int main),有时我们可能会在同一项目中使用相同的值编写多个 .cpp 文件(int main () ).so 对于程序来说,这意味着我们不小心在同一个项目文件夹中重复了相同的函数两次。我们要做的就是只用 (int main) 编写一个 .cpp 文件,而另一个 .cpp 文件同一项目中的文件用 (int submain) 编写它们,看看会发生什么。