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

Ошибка при определении макроса - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ошибки преобразования при передаче указателя на функцию http://www.cyberforum.ru/cpp-beginners/thread1493870.html
Есть функция SQLITE_API int SQLITE_STDCALL sqlite3_exec( sqlite3*, /* An open database */ const char *sql, /* SQL to be evaluated */ int (*callback)(void*,int,char**,char**), /* Callback function */ void *, /* 1st argument to callback */ char **errmsg /*...
C++ Поменять местами наибольшие элементы в верхней и нижней половинах матрицы (подпрограммы) В матрице A( n- строк, m- столбцов; n- четное) поменять местами наибольшие элементы в ее верхней и нижней половинах. Для поиска индексов наибольшего элемента в заданной части матрицы использовать подпрограмму. Для поиска наиб. элементов в верхней и нижней частях матрицы нужно использовать одну и ту же функцию. Функцию я написала. Для верхней части наиб. элемент находится правильно, но для... http://www.cyberforum.ru/cpp-beginners/thread1493866.html
Школьная алгебра C++
Добрый день, столкнулся с такой задачей: Трёхчлен a + bx + сy от двух переменных x и y однозначно определяется коэффициентами a, b и c. Написать программу, которая по заданным a, b и c выводит соответствующий трёхчлен, записанный с использованием алгебраических соглашений: коэффициент при члене, содержащем переменную, опускается, если его модуль равен единице; член, коэффициент при котором...
C++ Ошибка в консольном приложении при подключении MFC?
Здорова! Создал консольное приложение и в него добавил код: #include <iostream> using std::cout; using std::endl; #include <afxwin.h> int main()
C++ Моделирование COM http://www.cyberforum.ru/cpp-beginners/thread1493822.html
Здорова! Нужно написать модель COM, простой пример, создать класс, и интерфейсы. Просто чтобы разобраться как что работает. Вообще COM тяжело понимать. Читаю в книге ниче не разобрался.
C++ Как дописать код для полного функционирования? Структура "Студент" все в принципе работает с одним студентом,но есть загвоздка,если ставишь больше то он ответы выдает на первого правильно а на других как захочет!нужно то ли цикл сделать,пройдя условие для одного студента,чтоб он так же прошелся и для других по очереди! #include <iostream> #include <string> #include<math.h> #include<stdlib.h> #include<windows.h> using namespace std; struct STUDENT подробнее

Показать сообщение отдельно
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
06.07.2015, 13:14     Ошибка при определении макроса
Здорова!

Есть код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <iostream>
using std::cout;
using std::endl;
#include <string>
using std::string;
 
#include <afxwin.h>
 
//#include "class.h"
 
 
//определяем константы
#define CLSID_CSpaceship 1;
#define IID_IMOtion 2;
 
struct IMotion
{
    virtual void Fly()=0;
    virtual int& GetPosition()=0;
};
 
//глобальная функция которая будет возвращать интерфейс
BOOL GetClassObject(int nClsid, int nIid,void** ppvObj)
{
    cout <<"da\r\n";
    return TRUE;
}
 
int main()
{
    setlocale(LC_ALL, "rus_rus.1251");
    IMotion* pMot;
    GetClassObject(CLSID_CSpaceship , IID_IMOtion , (void**)&pMot);
    /*
    int nPos=50;
    pMot->GetPosition()=nPos;
    pMot->Fly();
    nPos=pMot->GetPosition();
    TRACE("новая позиция = %d\n",nPos);
 
    */
    return 0;
}
Он не компилируется, типо ошибку выводит
1> _WIN32_WINNT not defined. Defaulting to _WIN32_WINNT_MAXVER (see WinSDKVer.h)
1>d:\visual studio 2010\projects\com_model\com_model\main.cpp(33): error C2143: синтаксическая ошибка: отсутствие ")" перед ";"
1>d:\visual studio 2010\projects\com_model\com_model\main.cpp(33): error C2660: GetClassObject: функция не принимает 1 аргументов
1>d:\visual studio 2010\projects\com_model\com_model\main.cpp(33): error C2143: синтаксическая ошибка: отсутствие ";" перед ","
1>d:\visual studio 2010\projects\com_model\com_model\main.cpp(33): error C2143: синтаксическая ошибка: отсутствие ";" перед ","
1>d:\visual studio 2010\projects\com_model\com_model\main.cpp(33): error C2059: синтаксическая ошибка: )
1> class.cpp


в этой функции ошибки GetClassObject(CLSID_CSpaceship , IID_IMOtion , (void**)&pMot);
если сделать так GetClassObject(1, 2, (void**)&pMot);, то все нормально, а почему не рабоатет через макросы?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru