【发布时间】:2012-12-10 11:06:23
【问题描述】:
这个问题已经困扰我好几个星期了。我正在使用 MS vs2010。
#include <iostream>
int main()
{
std::cout << "Enter two numbers:" << std::endl;
int v1 = 0, v2 = 0;
std::cin >> v1 >> v2;
std::cout << "The sum of " << v1 << " and " << v2
<< " is " << v1 + v2 << std::endl;
return 0;
}
一个来自 C++ Primer 的简单程序。当我编译它时,我得到以下错误信息:
1>e:\program files\microsoft visual studio 10.0\vc\include\cstdlib(24): error C2039: 'exit' : is not a member of '`global namespace''
1>e:\program files\microsoft visual studio 10.0\vc\include\cstdlib(24): error C2873: 'exit' : symbol cannot be used in a using-declaration
我试图找到一些解决方案,我得到了这个:
上面写着:
找到的解决方案:
我在网上研究过这个问题,似乎很多人都关心这个问题。解决这个问题就像删除评论一样简单。
我查看了stdlib.h文件,发现下面一行被推荐出来了:
_CRTIMP __declspec(noreturn) void __cdecl exit(__in int _Code);
我把评论拿出来重新编译,现在可以了。
我相信在某些构建中,stdlib.h 文件会自动编译,并注释掉那部分代码。简单的取消注释,你的代码就可以工作了。
显然有些人用这个解决方案解决了这个问题。但是,我什至在我的 stdlib.h 中找不到_CRTIMP __declspec(noreturn) void __cdecl exit(__in int _Code);。
有人知道如何解决这个问题吗?
【问题讨论】:
-
请将您的答案放在一个答案中并自己接受。这样,该网站就可以运行
;-)。 -
@rubenvb 我不确定你的建议是什么,但我还没有解决方案。我在问题中发布的所谓“解决方案”对某些人有用,但对我不起作用。这就是我在这里问的原因。
-
嗯,你确实喊了
SOLUTION FOUND...但我懒得再读下去了。 -
@rubenvb 好吧,那是我的错。我应该说得更清楚。刚刚有人帮我编辑过,现在应该可以了。
-
谢谢@Bo Persson,我的问题在您编辑后更有条理。
标签: c++ visual-studio-2010 iostream