Я только начал новый win32
консольное приложение в VS 2010 и установить Additional options
собственность на precompiled header
в предстоящем мастере.
На основе один из моих предыдущих вопросов Я решил использовать следующий основной прототип:
int main(int argc, char* argv[])
Я также изменил Character Set
свойство проекта к Use Multi-Byte Character Set
,
Но следующий код:
system("pause");
Будет выдавать эти две ошибки:
error C3861: 'system': identifier not found
IntelliSense: identifier "system" is undefined
У меня был такой же опыт, и ошибок не было!
Кто-нибудь может подсказать мне, что не так?
В C ++ вы должны включить соответствующий заголовочный файл, который содержит объявление функции, чтобы использовать ее, иначе вы получите ошибку компилятора о том, что идентификатор не найден.
В случае с system
функция, это определено в stdlib.h
заголовочный файл
Итак, в начало вашего файла кода (или в вашем предварительно скомпилированном заголовочном файле) добавьте строку
#include <stdlib.h>
(Вы используете угловые скобки вместо кавычек, потому что stdlib.h
найден ли заголовок в том месте, о котором ранее сообщалось инструменту сборки; это включает в себя каталоги системных заголовков и другие каталоги, которые ваша конфигурация сборки специально требует.)
Помимо этого я сильно рекомендую против используя либо многобайтовый набор символов (все новые приложения Windows должны поддерживать Unicode), либо system
функция, особенно system("pause")
,
Для меня работало то, что #include "stdafx.h"
был ПЕРВЫЙ ВКЛЮЧЕН в файл. Так #include <iostream>
поэтому будет после этого.
Это решило проблему.