Trent
Trent

Reputation: 1275

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 the namespace or include or something like that?

Upvotes: 9

Views: 38774

Answers (3)

dalle
dalle

Reputation: 18507

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:

Upvotes: 2

user155407
user155407

Reputation:

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;

Upvotes: 20

CB Bailey
CB Bailey

Reputation: 791899

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;
}

Upvotes: 3

Related Questions