2014-04-01 19 views
1

這是我今天在第一堂課的C++中學到的非常簡單的程序,但是我忘記了一些東西,我無法想象什麼是錯的。請幫我理解我在代碼中錯過了什麼?不是用C++打印

int main(int argc, char**argv) { 
std::cout << "Welcome ..." << cout::endl; 

if (argc > 1) { 
    std::cout << std::endl << "Arguments:" << std::endl; 
    for (int i = 1; i < argc; i++) { 
     std::cout << i << ": " << argv[i] << std::endl; 
     } 
    } 
} 
+2

錯字:'cout :: endl'應該是'std :: endl'。 (或''\ n',除非你特別想在這一點上刷新輸出。) –

回答

8

你的回合是錯誤的。使用此:

std::cout << "Welcome ..." << std::endl; 
1

應該std::endl而不是cout::endl。看看你的編譯器輸出。 GCC告訴我:

cout.cpp: In function 'int main(int, char**)': 
cout.cpp:3:31: error: 'cout' has not been declared 
std::cout << "Welcome ..." << cout::endl; 
          ^

這很有用!

而不是使用std::endl的,你總是可以只使用\n

int main(int argc, char**argv) { 
    std::cout << "Welcome ...\n"; 

    if (argc > 1) { 
     std::cout << "\nArguments:\n"; 
     for (int i = 1; i < argc; i++) { 
      std::cout << i << ": " << argv[i] << "\n"; 
     } 
    } 
} 

std::endl刷新每次調用的時間,這可能是有用的,但並不總是需要緩衝。