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
精彩评论