我想弄清楚为什么这不起作用.我想在Java中做,其中main是类中的静态函数,但这会产生未解析的外部符号错误:
static class MainClass
{
public:
static int _tmain(int argc, char* argv[])
{
return 0;
}
};
Run Code Online (Sandbox Code Playgroud)
为什么这不起作用?
谢谢
Mar*_*ork 10
C++不能像那样工作.
你需要main作为一个函数:
int main(int argc,char* argv[])
{
//STUFF
}
Run Code Online (Sandbox Code Playgroud)
因为_tmain在二进制文件中包含了类名MainClass,因此多个类可以_tmain在其中具有函数而不会发生冲突.它没有得到与之相同的错位名称::_tmain.
我记得在早期版本的MSVC中,它接受了以下内容而没有链接器错误,该错误由于我的代码库中的宏扩展而意外结束
namespace bar {
int main() { }
}
Run Code Online (Sandbox Code Playgroud)
它显然main特别对待这个名字,并没有破坏它或者像它一样破坏它::main.但是这样的事情并不符合标准.就像在类的情况一样,这样的函数与main函数完全无关.