Почему я не могу объявить строку в моей программе: "строка является необъявленным идентификатором" - PullRequest
4 голосов
/ 02 октября 2011

Я не могу объявить строку в моей программе:

string MessageBoxText = CharNameTextBox->Text;

она просто не работает.Это говорит string is undeclared identifier.Что я пропускаю в пространстве имен или включаю или что-то в этом роде?

Ответы [ 3 ]

14 голосов
/ 02 октября 2011

Убедитесь, что вы включили этот заголовок:

#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;
3 голосов
/ 02 октября 2011

Чтобы использовать стандартный класс string в C ++, вам нужно #include <string>. После добавления директивы #include string будет определено в пространстве имен std, и вы можете ссылаться на нее как std::string.

1009 * Е.Г. *

#include <string>
#include <iostream>

int main()
{
    std::string hw( "Hello, world!\n" );
    std::cout << hw;
    return 0;
}
2 голосов
/ 02 октября 2011

Собираете ли вы каким-либо образом компиляцию с использованием C ++ / CLI, расширения Microsoft для .NET, а не стандартного ISO C ++?

В этом случае вы должны сделать следующее:

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

Также см. Следующие статьи:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...