44 / 30 / 18
Регистрация: 15.11.2014
Сообщений: 169
1

Syntax error хотя вроде быть не должно

16.05.2015, 22:15. Показов 1193. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ругается на пропущенную ';' хотя она стоит.

Output:
Код
1>c:\android\project\proj.win32\gamescene.h(22): error C2146: syntax error : missing ';' before identifier 'point1' (MainClasses.cpp)
1>c:\android\project\proj.win32\gamescene.h(22): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int (MainClasses.cpp)

gamescene.h
Кликните здесь для просмотра всего текста

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
#ifndef __GAME_SCENE_H__
#define __GAME_SCENE_H__
 
#include "cocos2d.h"
#include "MainClasses.h"
 
class GameScene : public cocos2d::Layer {
public:
    static cocos2d::Scene* createScene();
 
    virtual bool init();
 
    bool onTouchBegan(cocos2d::Touch *touch, cocos2d::Event * event);
    void onTouchMoved(cocos2d::Touch *touch, cocos2d::Event * event);
    void onTouchEnded(cocos2d::Touch *touch, cocos2d::Event * event);
    void onTouchCancelled(cocos2d::Touch *touch, cocos2d::Event * event);
    void IsTouching(void);
 
 
    CREATE_FUNC(GameScene);
private:
    MapPoint point1;
    float touchPositionX;
    float touchPositionY;
    bool isTouching;
};
 
#endif __GAME_SCENE_H__


mainclasses.h
Кликните здесь для просмотра всего текста

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
#ifndef __MAIN_CLASSES_H__
#define __MAIN_CLASSES_H__
 
#include "cocos2d.h"
#include "Global.h"
#include "GameScene.h"
 
USING_NS_CC;
 
class MapPoint {
public:
    MapPoint();
    void Battle(void);
    void CreatePointSprite(void);
    void SetPositionSprite(void);
    bool IsTouchOnField(void);//Для теста
    Sprite* GetSprite(void);
    void SetId(UINT id);
    UINT GetId(void);
    ~MapPoint();
private:
    UINT id;
    UINT master_player;
    UINT point_army;
    UINT point_rent;
    Sprite* pointsprite;
};
 
#endif __MAIN_CLASSES_H__ //__MAIN_CLASSES_H__


mainclasses.cpp
Кликните здесь для просмотра всего текста

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
44
45
46
47
48
49
50
51
52
#include "cocos2d.h"
#include "MainClasses.h"
 
USING_NS_CC;
 
 
//MapPoint methods
MapPoint::MapPoint() {
 
}
 
MapPoint::~MapPoint() {
}
 
void MapPoint::Battle(void) {
    return;
}
 
void MapPoint::SetId(UINT id) {
    return;
}
 
UINT MapPoint::GetId(void) {
    return 0;
}
 
void MapPoint::CreatePointSprite(void) {
    pointsprite = Sprite::create("sprites/emptyfieldnotouch.png");
}
 
void MapPoint::SetPositionSprite(void) {
    Size visibleSize = Director::getInstance()->getVisibleSize();
    Vec2 origin = Director::getInstance()->getVisibleOrigin();
    Vec2 centerPoint = Point((visibleSize.width / 2) + origin.x, (visibleSize.height / 2) + origin.y);
    pointsprite->setPosition(Vec2((visibleSize.width / 2) + origin.x, (visibleSize.height / 2) + origin.y));
 
}
 
Sprite* MapPoint::GetSprite(void) {
    return pointsprite;
}
 
//Для теста
bool MapPoint::IsTouchOnField(void) {
    Size visibleSize = Director::getInstance()->getVisibleSize();
    Vec2 origin = Director::getInstance()->getVisibleOrigin();
    Vec2 centerPoint = Point((visibleSize.width / 2) + origin.x, (visibleSize.height / 2) + origin.y);
    const float fieldsizeheight = pointsprite->getContentSize().height;
    const float fieldsizewidth = pointsprite->getContentSize().width;
    
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.05.2015, 22:15
Ответы с готовыми решениями:

Помогите с SQL запросом... (вроде должно быть просто, но не знаю как)
Как создать запрос типа: 'SELECT Count(*) AS ИмяПеременной FROM ИмяТаблицы' Если я подставляю...

Как должна быть организована сеть офиса? Что должно быть настроено обязательно, а чего быть не должно?
Добрый день. Сразу оговорюсь, что я инженер-строитель и настройкой сети занимаюсь только потому,...

Показано, что занято 90Гб, хотя реально должно быть 7 Гб.
привет всем )... у меня два раздела жесткого диска "С и D". В разделе С стоит виндоус 7, а на...

Выходное значение равняется нулю, хотя такого быть не должно
Код, отображение работы программы и таблицы, на которых она основывается во вложении. Простите...

5
1379 / 406 / 144
Регистрация: 22.10.2014
Сообщений: 872
16.05.2015, 22:17 2
Zedapp, А как выглядит CREATE_FUNC?
0
44 / 30 / 18
Регистрация: 15.11.2014
Сообщений: 169
16.05.2015, 22:19  [ТС] 3
Nosey,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#define CREATE_FUNC(__TYPE__) \
static __TYPE__* create() \
{ \
    __TYPE__ *pRet = new(std::nothrow) __TYPE__(); \
    if (pRet && pRet->init()) \
    { \
        pRet->autorelease(); \
        return pRet; \
    } \
    else \
    { \
        delete pRet; \
        pRet = NULL; \
        return NULL; \
    } \
}
Но сомневаюсь, что проблема в этом, т.к. это движковая штука и по идее должна работать корректно. Да и в принципе если закоментить MapPoint point1; все работает.
0
1379 / 406 / 144
Регистрация: 22.10.2014
Сообщений: 872
16.05.2015, 22:31 4
Лучший ответ Сообщение было отмечено Zedapp как решение

Решение

Проверьте последовательность подключения хедеров. Мне кажется MapPoint юзается до определения.
1
lss
940 / 868 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
16.05.2015, 23:01 5
Лучший ответ Сообщение было отмечено Zedapp как решение

Решение

Мне кажется, тут проблема взаимных включений. В gamescene.h #include "MainClasses.h", в mainclasses.h #include "GameScene.h".

Добавлено через 13 минут
Уже не кажется, а так и есть. Из-за этого получается это:
Цитата Сообщение от Nosey Посмотреть сообщение
MapPoint юзается до определения.
1
44 / 30 / 18
Регистрация: 15.11.2014
Сообщений: 169
16.05.2015, 23:04  [ТС] 6
lss,Nosey, спасибо.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.05.2015, 23:04
Помогаю со студенческими работами здесь

Ф-ия month всегда возвращает true, хотя так не должно быть
Ф-ия month всегда возвращает true, хотя так не должно быть. В этой ф-ии я должна либо ввести...

Результат переменной постоянно 0, хотя должно быть другое значение
Добрый день. Подскажите, пожалуйста, почему результат переменной (m1)постоянно ноль? Я считаю по...

В результате вычислений программа выдает нули(хотя так не должно быть)
Программа должна посчитать некоторые две величины по формулам, которые проверены аналитически,...

Всегда читается одна и та же строка, хотя число должно быть разным
При нажатии на кнопку "Следующий" открывается такое же окно, но vopros при клике на "label" должен...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru