Я хотел бы использовать неуправляемый C++.visual C++, объявляющий строковый массив
Следующий код:
#include"string.h"
std::string nodename[100];
дает мне следующую ошибку компиляции:
'std' : is not a class or namespace name
Я хотел бы использовать неуправляемый C++.visual C++, объявляющий строковый массив
Следующий код:
#include"string.h"
std::string nodename[100];
дает мне следующую ошибку компиляции:
'std' : is not a class or namespace name
Попробуйте что-то вроде:
#include <string>
int main(void)
{
std::string nodeName[100];
}
Это просто string
, не string.h
.
Вы используете неправильный заголовочный файл. Вы должны быть #include
ИНГ <string>
, не "string.h"
:
<string>
это файл заголовка, который определяет C++ STL класс std::string
<string.h>
является заголовочный файл для стандартной библиотеки C строковых функций, которые работают со строками C (char *
)<cstring>
это файл заголовка, как <string.h>
, но он заявляет, все C строковых функций внутри std
именДля системных файлов заголовков, подобных этим, вы всегда должны #include
их с угловыми скобками, а не с двойными кавычками.
Использование цитат '' '' дает приоритет файлам вашего собственного проекта, которые имеют одно и то же имя. Угловые скобки '<>' делают обратное. –