我不能在我的程序来声明一个String:为什么我不能在我的程序申报的字符串:“字符串是未声明的标识符”
string MessageBoxText = CharNameTextBox->Text;
它是行不通的。它说string is undeclared identifier
。我在命名空间中丢失了什么或者包含了什么?
我不能在我的程序来声明一个String:为什么我不能在我的程序申报的字符串:“字符串是未声明的标识符”
string MessageBoxText = CharNameTextBox->Text;
它是行不通的。它说string is undeclared identifier
。我在命名空间中丢失了什么或者包含了什么?
确保你已经包括这个头:
#include <string>
然后用std::string
代替string
。这是因为string
是在std
命名空间中定义的。
而且在命名空间内不要这样写:
using namespace std; //bad practice if you write this at namespace scope
然而,在功能范围写这并不坏。但是,最好的是一个我建议之前:
使用std::string
为:
std::string MessageBoxText = CharNameTextBox->Text;
我在哪里把它放在我的程序中,我已经尝试过,但我只是在无论放哪里的地方都会遇到一百行错误 – Trent
它需要位于文件顶部的任何其他代码之外。也许发布一些代码? – 2011-10-02 07:32:13
std :: string是否工作? – 2011-10-02 07:32:28
要使用标准string
类在C++中,你需要#include <string>
。一旦添加了#include
指令,string
将在std
名称空间中定义,您可以将其作为std::string
来引用。
E.g.
#include <string>
#include <iostream>
int main()
{
std::string hw("Hello, world!\n");
std::cout << hw;
return 0;
}
我刚刚编辑斯科特的答案,使更好,然后刷新页面,它也显示了你的。 +1。 – Nawaz
你是用任何方式编译使用C++/CLI,微软的.NET扩展,而不是标准的ISO C++?
在这种情况下,你应该做到以下几点:
System::String^ MessageBoxText = CharNameTextBox->Text;
另请参阅下面的文章:
谁说'CharNameTextBox->文本'可转换为std :: string? – ybungalobill