为什么我在Microsoft Visual C ++ 2010 Express中收到此消息

时间:2011-06-15 10:56:52

标签: c++ visual-c++

#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 编译的小代码。当我编译时,我收到一条消息,说明您的项目已过期。 为什么我收到此消息?

如果上述代码确实过时了,我会对任何建议表示感谢吗?

2 个答案:

答案 0 :(得分:3)

你可能会击中F5。这是:在调试中运行,不编译(至少不是在C ++ / VS术语中)。

它检测到您的代码与用于编译二进制文件的代码不同。

如果您有此代码:

int main() 
{ 
    cout << "test"; 
    return 0;
}

你编译,那是你的exe的第1版。

然后你改变了

中的代码
int main() 
{
    cout << "test1";
    cout << "test2";
    return 0;
}

现在你点击F5,你基本上仍在尝试调试你的exe的版本1,因为你没有将你的源代码的第2版编译成你的程序集的第2版。

这就是它给你警告的原因。如果我没记错,您可以在该弹出窗口上设置一个复选框以始终重建。 (不确定!)

答案 1 :(得分:1)

当输入文件(源代码)的时间戳比输出文件(二进制文件)更新时,将弹出

Projects are out of date对话框。

它与过时的源代码无关(如果你正在考虑这个方向)。

删除所有Debug文件夹,重新编译然后运行项目,它应该可以工作。