开发者

Why can't I declare a string in my program: "string is undeclared identifier"

I can't declare a string in my program:

string MessageBoxText = CharNameTextBox->Text;

it just doesn't work. It says string is undeclared identifier. What am I missing in th开发者_JAVA技巧e namespace or include or something like that?


Make sure you've included this header:

#include <string>

And then use std::string instead of string. It is because string is defined in std namespace.

And don't write this at namespace scope:

using namespace std; //bad practice if you write this at namespace scope

However, writing it at function scope is not that bad. But the best is one which I suggested before:

Use std::string as:

std::string MessageBoxText = CharNameTextBox->Text;


To use the standard string class in C++ you need to #include <string>. Once you've added the #include directive string will be defined in the std namespace and you can refer to it as std::string.

E.g.

#include <string>
#include <iostream>

int main()
{
    std::string hw( "Hello, world!\n" );
    std::cout << hw;
    return 0;
}


Are you by any way compiling using C++/CLI, the Microsoft extension for .NET, and not standard ISO C++?

In that case you should do the following:

System::String^ MessageBoxText = CharNameTextBox->Text;

Also see the following articles:

  • How to: Convert Between Various String Types
  • How to: Convert System::String to Standard String
  • How to: Convert Standard String to System::String
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜