问题描述
|
#include <iostream>
using namespace std;
int main() {
bool x = true;
bool y = false;
if(x) {
cout << \"if works\";
}
if(y==false) {
cout << \"else works\";
}
int z;
cin >> z;
}
这是我使用Microsoft Visual C ++ 2010 Express Edition编译的小代码。编译时,我收到一条消息,说您的项目已过时。
为什么会收到此消息?
如果上面的代码真的过时了,我会感谢任何建议吗?
解决方法
您可能击中了F5。即:在调试中运行,不编译(至少不是C ++ / VS术语)。
它检测到您的代码与用于编译二进制文件的代码不同。
如果您有此代码:
int main()
{
cout << \"test\";
return 0;
}
然后编译,即exe的版本1。
然后您在中更改代码
int main()
{
cout << \"test1\";
cout << \"test2\";
return 0;
}
现在您按F5键,因为您尚未将源代码的版本2编译到程序集的版本2中,所以您实际上仍在尝试调试exe的版本1。
这就是为什么它会向您发出警告。如果我没记错的话,可以在该弹出窗口上设置一个复选框以始终进行重建。 (不确定!)
, 当输入文件(源代码)的时间戳比输出文件(二进制文件)的时间戳新时,将弹出“ 3”对话框。
它与源代码过时无关(如果您正在朝那个方向考虑)。
删除所有Debug文件夹,重新编译,然后运行项目,它应该可以正常工作。