Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Olejeg85
13 / 10 / 0
Регистрация: 27.03.2011
Сообщений: 164
#1

Не компилируется код, выскакивает ошибка - C++

01.07.2011, 15:51. Просмотров 635. Ответов 12
Метки нет (Все метки)

подскажите в чем тут ошибка? при компиляции выскакивает ошибка
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <windows.h>
 
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
    int m[10];
    char szText[100];
 
    for(int i=0; i<=9; ++i)
        m[i]=i*i;
    wsprintf(szText, "Первый элемент: %d Последний элемент: %d", m[0], mp[9]);
    MessageBox (NULL, szText, "Info", MB_OK);
    return 0;
}
ошибка: LINK : error LNK2001: unresolved external symbol _WinMainCRTStartup
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.07.2011, 15:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не компилируется код, выскакивает ошибка (C++):

В формате .cpp код компилируется, а в .c не компилируется - C++
1).Подскажите почему в формате .cpp код компилируется, а в .c не компилируется 2). Как сделать так, чтобы компилировалось в .c? ...

Выскакивает ошибка Stack around the voriable 'text' was corrupted. Подскажите пожалуйста в чём ошибка - C++
Выскакивает ошибка Stack around the voriable 'text' was corrupted. Подскажите пожалуйста в чём ошибка. #include &lt;iostream&gt; #include...

Ошибка при использовании vector (в конце, после вывода результатов выскакивает ошибка, но сам результат коректен) - C++
Суть в следующем, мы считываем введеные значения и выводим этот массив Проблема такова что массив выводиться, корректно, но в конце...

Код не компилируется - C++
Объясните пож-та, почему код не компилируется: // File Output.cpp: определяет точку входа для консольного приложения. // ...

Не компилируется код - C++
Есть код на подобие такого: template&lt;int a&gt; class A { public: static const int x1 = B&lt;a,1&gt;::x2; }; template&lt;int a, int b&gt; ...

Не компилируется код - C++
#include &lt;QCoreApplication&gt; #include &lt;iostream&gt; using std::cout; using std::endl; int squareByValue(int); // прототип передача...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
jonson
232 / 205 / 61
Регистрация: 18.03.2010
Сообщений: 750
01.07.2011, 16:07 #2
ну, наверное ты создал консольный проект а не win32.
И ещё одно, в 10й строке mp[9] эт чё такое?
1
Olejeg85
13 / 10 / 0
Регистрация: 27.03.2011
Сообщений: 164
01.07.2011, 16:17  [ТС] #3
Цитата Сообщение от jonson Посмотреть сообщение
ну, наверное ты создал консольный проект а не win32.
И ещё одно, в 10й строке mp[9] эт чё такое?
добавил лишнюю букву, спс сразу не заметил =)

Добавлено через 3 минуты
все равно ошибка вылетает... создаю win32 оконное приложение

IDE - visual c++ 2010 express

Добавлено через 2 минуты
вроде создаю правильно
file -> new project
win32 -> win32 Project
выделено: windows application, empty project -> finish

далее:
file -> new file
visual c++ -> *.cpp

пишу код и при компиляции ошибка выскакивает
0
jonson
232 / 205 / 61
Регистрация: 18.03.2010
Сообщений: 750
01.07.2011, 16:21 #4
даже не знаю, должно работать. Попробуй в настройках принудительно указать точку входа WinMain.
0
co6ak
Кошковед
407 / 500 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
01.07.2011, 16:21 #5
хз. у меня работает )
mp поменял на m[9] и нормалек )


тока эта... я всегда пустые проекты создаю.
0
Olejeg85
13 / 10 / 0
Регистрация: 27.03.2011
Сообщений: 164
01.07.2011, 18:10  [ТС] #6
еще пара вопросов:
два идентификатора
WINAPI
и
CALLBACK
я так понял это синонимы stdcall - особая последовательность вызовов функций, которая имеет место между самой операционной системой windows и ее приложением.
1. без разницы как будет написано к примеру WINAPI WinMain() или CALLBACK WinMain()?
2. не совсем понятно что такое stdcall так как это не зарезервированное слово... подскажите что это и когда используется
0
Jupiter
Каратель
Эксперт С++
6554 / 3975 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
01.07.2011, 18:17 #7
Цитата Сообщение от Olejeg85 Посмотреть сообщение
1. без разницы как будет написано к примеру WINAPI WinMain() или CALLBACK WinMain()?
без разници

Цитата Сообщение от Olejeg85 Посмотреть сообщение
2. не совсем понятно что такое stdcall так как это не зарезервированное слово... подскажите что это и когда используется
stdcall определяет порядок передачи параметров в функцию, ибо в паскале например, порядок передачи параметров обратный к Сишному

Добавлено через 1 минуту
ну и так же определяет что параметры будут передаватся через стек
0
jonson
232 / 205 / 61
Регистрация: 18.03.2010
Сообщений: 750
01.07.2011, 18:17 #8
Цитата Сообщение от Olejeg85 Посмотреть сообщение
что такое stdcall
то есть это значит что аргументы передаются через стек, справа налево. Очистку стека производит вызываемая подпрограмма.
1
Olejeg85
13 / 10 / 0
Регистрация: 27.03.2011
Сообщений: 164
01.07.2011, 20:52  [ТС] #9
в книжке написано:
функция RegisterClassEx имеется один параметр: указатель на структуру типа WNDCLASSEX
RegisterClassEx(&wndclass);

почему указатель? если это ссылка на структуру или под win так указатели обозначаются?
0
jonson
232 / 205 / 61
Регистрация: 18.03.2010
Сообщений: 750
01.07.2011, 21:16 #10
Цитата Сообщение от Olejeg85 Посмотреть сообщение
почему указатель? если это ссылка на структуру или под win так указатели обозначаются?
&wndclass - это операция взятия адреса структуры wndclass
чтобы в RegisterClassEx отправить сам указатель, это выглядит так:
C++
1
2
3
4
5
6
7
 WNDCLASSEX wcex;
 WNDCLASSEX * p;
 
 // ..... определение структуры wcex
 
p = & wcex;
RegisterClassEx(p);
1
Olejeg85
13 / 10 / 0
Регистрация: 27.03.2011
Сообщений: 164
01.07.2011, 22:16  [ТС] #11
а где можно посмотреть все стили, которые описаны для окон? а то я только три нашел
CS_HREDRAW, CS_VREDRAW и CS_OWNDC
0
Jupiter
Каратель
Эксперт С++
6554 / 3975 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
01.07.2011, 22:22 #12
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
1
Olejeg85
13 / 10 / 0
Регистрация: 27.03.2011
Сообщений: 164
03.07.2011, 03:14  [ТС] #13
спасиб =)

Добавлено через 21 час 35 минут
ну и последний вопрос остался по приложению=))
первый параметр при определении класса окна:
UINT cbSize; для чего это нужно?

Добавлено через 6 часов 35 минут
еще может кто-нибудь объяснить написанное... я не догоняю о чем тут пишут...
описание параметра функции CreateWindow
hWndParent
Идентифицирует родительское окно или владельца создаваемого окна. Допустимый дескриптор окна должен быть дан, когда дочернее окно или находящееся в собственности окно созданы. Дочернее окно ограничено рабочей областью родительского окна. Находящееся в собственности окно - перекрывающее окно, которое разрушается, когда окно его владельца разрушено или скрыто, когда его владелец свернут; оно всегда отображается на верхней части окна его владельца. Несмотря на то, что этот параметр должен определять правильный дескриптор, если параметр dwStyle включает в себя стиль WS_CHILD, это необязательно, если dwStyle включает в себя стиль WS_POPUP.

а именно последнее предложение
Несмотря на то, что этот параметр должен определять правильный дескриптор, если параметр dwStyle включает в себя стиль WS_CHILD, это необязательно, если dwStyle включает в себя стиль WS_POPUP.

может кто-нибудь на русском нормально описать смысл этой фразы?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.07.2011, 03:14
Привет! Вот еще темы с ответами:

Не компилируется код - C++
main.cpp #include &lt;iostream&gt; #include &lt;fstream&gt; #include &quot;menu.h&quot; void foo1() { std::cout &lt;&lt; 1; } void foo2()...

Не компилируется код - C++
я написал код проверял не компелирует почему-то пользуюсь dev c++ пишет проект или исходный файл не скомпелирован вот код #include...

Код не компилируется - C++
не пойму, почему не компилируется #include &lt;iostream&gt; //#include &lt;new&gt; //#include &lt;cstdlib&gt; using namespace std; class loc{ ...

Код не компилируется - C++
#include &lt;iostream&gt; #define _USE_MATH_DEFINES #include &lt;math.h&gt; double circle_area(int radius); using namespace std; int...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
03.07.2011, 03:14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru