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

问题描述

|
#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文件夹,重新编译,然后运行项目,它应该可以正常工作。