2015-10-08 6 views
-1

Я смог оценить функцию WinMain. Теперь я пытаюсь сделать win32 приложение:Ошибка компилятора C2664 или C2731 C++ 2015

#include <Windows.h> 
int WINAPI WinMain() { 
    MessageBox(NULL,"Test", "Hello World", NULL); 
    return 0; 
} 

, а затем я получаю ошибку C2731.

+1

что такое сообщение об ошибке? – Hcorg

+1

Измените свой вопрос, включив в него фактические ошибки, полные и неотредактированные. –

ответ

0

Вы не указали никаких параметров для метода WinMain(), и ошибка C2731 говорит, что этот метод cannot be overloaded.

От MSDN:

int WINAPI WinMain(HINSTANCE hInstance, 
       HINSTANCE hPrevInstance, 
       LPSTR lpCmdLine, 
       int nCmdShow); 

Ошибка C2664, скорее всего, ваш вызов MessageBox, поэтому попробуйте изменить что-то вроде:

MessageBox(NULL, L"Test", L"Hello World", NULL); 
0

я понял это, я не был useint main.cpp так как мой основной файл исходного кода и мой WinMain необходимо было переключить на wWinMain

+0

Ничего из этого не имеет смысла. Существует не такая вещь, как основной файл исходного кода. Все исходные файлы скомпилированы в объектный код, а компоновщик собирает объектный код в исполняемый образ. [Ответ Майкла МакМуллина] (http://stackoverflow.com/a/33011984/1889329) описывает реальные проблемы. – IInspectable

Смежные вопросы