2009-11-02 7 views
1

Я знаю, что для целого, вы можете использовать:Как объявить строку без присвоения значения в C++?

int value; 

Я пробовал:

string str; 

но Visual C++ дал мне ошибку. Как объявить его без присвоения значения, а затем использовать cin >> str, чтобы назначить его?

+1

Изменить этот вопрос, чтобы включить реальное сообщение об ошибке - что информация компилятор пытается помочь ; по крайней мере, дайте нам эту выгоду. – Clifford

ответ

14
#include <string> 
int main() 
{ 
std::string str; 
return 0; 
} 

Проверить это информация о Namespaces по MSDN

+0

Я также могу написать «using namespace std; string str;» правильно? Я читал его здесь, когда искал Google (http://www.cprogramming.com/tutorial/string.html), но я думал, так как я уже писал «using namespace std;» ниже "#include " Мне не пришлось переписывать его. – Fabian

+0

Кроме того, если вы обнаружите, что часто используете std :: string в коде, 'using std :: string;' поможет. – Bill

+4

В целом рекомендуется не использовать 'using namespace std;', а просто втягивать части пространства имен std, которые вы фактически используете: 'using std :: string; используя std :: cout; например, с помощью std :: endl; '. – Bill

1
#include <string> 
using std::string; 

int main() { 
    string str; 
    return 0; 
} 
0

Попробуйте следующее:

#include <iostream> 
#include <string> 

using std::string; 
using std::cout; 
using std::cin; 

int main() 
{ 
    string str; 
    cout << "Enter a string: "; 
    cin >> str; 
    cout << "You entered: " << str; 

    return 0; 
} 
+0

В чем разница между iostring и iostream? – StackedCrooked

+0

это будет опечаткой. : P Спасибо! – Bill