为什么我不能在程序中声明一个字符串:"string is unclared identifier"

Tre*_*ent 4 c++ string visual-c++

我无法在程序中声明一个字符串:

string MessageBoxText = CharNameTextBox->Text;
Run Code Online (Sandbox Code Playgroud)

它只是不起作用.它说string is undeclared identifier.我在命名空间或包含或类似的东西中缺少什么?

小智 14

确保您已包含此标头:

#include <string>
Run Code Online (Sandbox Code Playgroud)

然后用std::string而不是string.这是因为stringstd命名空间中定义.

并且不要在命名空间范围内写这个:

using namespace std; //bad practice if you write this at namespace scope
Run Code Online (Sandbox Code Playgroud)

但是,在功能范围内编写它并不是那么糟糕.但最好的是我之前建议的:

使用std::string如:

std::string MessageBoxText = CharNameTextBox->Text;
Run Code Online (Sandbox Code Playgroud)

  • 你确定你在编译C++而不是C吗? (5认同)
  • 请不要向初学者推荐`using namespace std;`. (3认同)