Я получаю сообщение об ошибке, компилирую программу на C++, в которой из строк выполняется вызов из «std :: system (SomeString)». Эта программа была составлена 3 года назад, но при ее компиляции сегодня я получаю сообщение об ошибке, в котором говорится, что «система» не является членом «std». Есть ли что-то, что я должен импортировать для использования std :: system, был ли он оставлен или переместился в другой заголовочный файл.C++ std :: system 'system' не является членом std
7
A
ответ
25
std::system
есть (и всегда был) в <cstdlib>
.
Не определено стандартом C++, включают ли стандартные заголовки друг друга, и если да, то какие. Таким образом, возможно, что 3 года назад, на другом компиляторе или другой версии того же самого компилятора, ваш код работал случайно, потому что один из заголовков, которые вы включили именно так, включал <cstdlib>
. В компиляторе/версии, которую вы используете сейчас, это не так.
7
У вас есть это ?:
#include <cstdlib>
2
Убедитесь, что вы #include <cstdlib>
в вашем коде.
0
Я пробовал. Работает в двух направлениях в vs2008 - «std :: system()» или «system()». И вы хотите включить либо stdlib.h, либо cstdlib
Какую новую информацию вы дадите в сравнении с принятой? –