2011-06-15 69 views
1
#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; 
} 

這是我使用微軟的Visual C++ 2010 Express Edition的編一個小代碼。當我編譯時,我收到一條消息說您的項目已過期。 爲什麼我會收到此消息?,爲什麼我會在Microsoft Visual C此消息++ 2010速成

如果上面的代碼真的過時了,我會感謝任何建議嗎?

+2

我敢肯定,錯誤消息不是由您發佈的代碼造成的。 – Waldheinz 2011-06-15 10:58:59

+2

你正在編譯到網絡驅動器,或類似的東西?如果是這樣,則可能生成的二進制文件的時間戳與本地機器不同步。 – forsvarir 2011-06-15 11:00:17

+0

@ forsvarir no .. – saplingPro 2011-06-15 11:01:48

回答

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版本的部件。

這就是爲什麼它會給你警告。如果我記得正確,你可以在該彈出框上設置一個複選框來始終重建。 (不確定!)

+0

是的,我打F5。你能更清楚地看到'它檢測到你的代碼與用於編譯你的二進制文件的代碼不同 – saplingPro 2011-06-15 11:07:38

1

Projects are out of date當輸入文件(源代碼)的時間標記比輸出文件(二進制文件)更新時,將彈出對話框。

它與源代碼過期無關(如果您正在考慮那個方向)。

刪除所有Debug文件夾,重新編譯,然後運行該項目,它應該工作。

相關問題