2014-01-30 25 views
0

以下代码无法使用。在命令cin >> h处出现错误。我究竟做错了什么?为什么写入我的字符串不起作用?

#include <iostream> 
using namespace std; 

int main() 
{ 

    string h = " "; 

    cout << "hi" << endl; 
    cin >> h; 
    cout << h << endl; 
    system("pause"); 
    return 0; 
} 
+4

是吗?和?怎么了? –

+1

你预计会发生什么?真的发生了什么? –

+1

请勿使用 'system(“PAUSE”); ' –

回答

6

随机猜测:

你忘了#include <string>

+0

啊这就是问题 –

2

你忘了包括<string>和C++惩罚你这一点。

啊,但是每个人和他的狗应该知道,通过不包括<string>,你使用的是默认的>>运算符,它具有很好的字符串问题。 C++的“让程序员自由地在脚下自由自在”的哲学处于最佳状态。

C++知识告诉不幸的徘徊者应该使用getline而不是cin >>,但学者们之间就这个良好的学说观点引发了激烈的争论。

+0

所有我不得不说的是 lol = true –

相关问题