2012-11-27 43 views
0

每次我編譯這個C++代碼時,我都會得到一個我無法理解的線程異常。這裏有什麼問題?在Xcode中編譯這個基本的C++代碼時出現線程異常

#include <iostream> 
#include <string> 
using namespace std; 

int main(int argc, char* argv[]) { 
    string arg = argv[1]; 

    if (arg == "-r") 
     cout << "First arg is -r" << endl; 

    return 0; 
} 
+1

添加你獲得它可以幫助例外。 –

+0

「編譯時出現異常」?你的意思是編譯器錯誤?或者運行程序時出現異常?請編輯您的問題以包含更多詳細信息,包括編譯器和鏈接器中的所有錯誤。 –

+0

我不確定它到底是什麼,但[這裏是](https://www.dropbox.com/s/mchl6iq81d3mtnz/exception.png)一旦它完成編譯後出現的屏幕截圖。 – thisiscrazy4

回答

0

你忘了指定的argv [1]字符串arg前檢查argc>=2
你確定你是通過傳遞參數來運行這個程序嗎?

一個可能的修正:

#include <iostream> 
#include <string> 
using namespace std; 

int main(int argc, char* argv[]) 
{ 
    if(argc<2) 
    { 
     cerr << "Not enough parameters" << endl; 
     abort(); 
    } 

    string arg = argv[1]; 

    if (arg == "-r") 
     cout << "First arg is -r" << endl; 

    return 0; 
} 
+0

謝謝,這是我的問題,因爲我只是在沒有添加任何參數的情況下構建和運行。 – thisiscrazy4

+0

沒問題,夥計。 –

+1

這裏有一個鏈接可以幫助設置命令行參數。 [(鏈路)](http://stackoverflow.com/questions/5025256/how-do-you-specify-command-line-arguments-in-xcode-4) –

相關問題