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

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

Войти
Регистрация
Восстановить пароль
 
 
dimkaok
 Аватар для dimkaok
1 / 1 / 0
Регистрация: 06.03.2013
Сообщений: 128
#1

Подскажите, почему для каждого объекта в программе выдает две ошибки - C++

20.04.2013, 23:16. Просмотров 951. Ответов 25
Метки нет (Все метки)

Вот ошибки:
error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "o_enemy"
error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает

В чем может быть причина?
Миниатюры
Подскажите, почему для каждого объекта в программе выдает две ошибки  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.04.2013, 23:16     Подскажите, почему для каждого объекта в программе выдает две ошибки
Посмотрите здесь:

Подскажите кто может и найдите ошибки в программе)) C++
C++ подскажите, почему программа выдает ошибку?
есть ошибки в программе, может что то с компилятором у меня, подскажите пожалуйста. C++
C++ Подскажите почему выдает ошибку?
C++ Реализовать динамический массив объектов, учитывая, что параметры для конструктора у каждого объекта разные
Почему программа не работает и выдает ошибки? C++
C++ Подскажите, где ошибки в программе
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4384 / 3227 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
21.04.2013, 11:32     Подскажите, почему для каждого объекта в программе выдает две ошибки #21
Цитата Сообщение от kravam Посмотреть сообщение
dimkaok, а где у тебя, с позволения спросить, файл CMove.h? Ты его подключать подключаешь, а его нет.
Вероятно, это тот, который назван CMove.cpp
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dimkaok
 Аватар для dimkaok
1 / 1 / 0
Регистрация: 06.03.2013
Сообщений: 128
21.04.2013, 11:38  [ТС]     Подскажите, почему для каждого объекта в программе выдает две ошибки #22
Цитата Сообщение от stima Посмотреть сообщение
Мой вам совет, сделайте шаг назад. Почитайте немного
Да я, дело в том, что уже прочитал Лафоре "ООП в C++" и еще много чего, и теперь,
чтобы закрепить материал, решил написать небольшой проект. Я еще много не знаю,
но только лишь читать книги и выполнять задачи из конца главы - тоже не дело.

Цитата Сообщение от kravam Посмотреть сообщение
а где у тебя, с позволения спросить, файл CMove.h? Ты его подключать подключаешь, а его нет.
Он есть. Всего 13 файлов, я просто не стал все здесь приводить
Миниатюры
Подскажите, почему для каждого объекта в программе выдает две ошибки  
dimkaok
 Аватар для dimkaok
1 / 1 / 0
Регистрация: 06.03.2013
Сообщений: 128
24.04.2013, 14:35  [ТС]     Подскажите, почему для каждого объекта в программе выдает две ошибки #23
Кажется, я немного продвинулся с этой проблемой.
Вынес определения всех объектов программы в отдельный хедер:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#ifndef _OBJECTS_H_
#define _OBJECTS_H_
 
#include "CBattle.h"
#include "CField.h"
#include "CGameCicle.h"
#include "CMessages.h"
#include "CMove.h"
#include "CPlayer.h"
 
namespace obj {
    extern CPlayer    o_player;
    extern CPlayer    o_enemy;
    extern CMessages  o_messageBox;
    extern CField     o_field;
    extern CBattle    o_battle;
    extern CMove      o_move;
    extern CGameCicle o_game;
}
 
#endif // _OBJECTS_H_
И подключил его во все *.cpp - файлы, где используются эти объекты
Но теперь другие ошибки выдает:
Миниатюры
Подскажите, почему для каждого объекта в программе выдает две ошибки  
Tulosba
:)
Эксперт С++
4384 / 3227 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
24.04.2013, 14:43     Подскажите, почему для каждого объекта в программе выдает две ошибки #24
Цитата Сообщение от dimkaok Посмотреть сообщение
Вынес определения всех объектов программы в отдельный хедер:
Есть файл, в котором объекты объявлены без "extern"?
stima
432 / 287 / 16
Регистрация: 22.03.2011
Сообщений: 936
Завершенные тесты: 1
24.04.2013, 15:18     Подскажите, почему для каждого объекта в программе выдает две ошибки #25
Почитайте про экстерн. Если кратко Вы сказали: "У меня есть вот столько внешних обьектов." Компилятор вам сказал: "Хорошо". Линкер же в панике: "Ну и где эти .... обьекты".

Добавлено через 1 минуту
А вообще вы уже архитектурно не правы. Куча статики и Все знают о всех.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.04.2013, 15:56     Подскажите, почему для каждого объекта в программе выдает две ошибки
Еще ссылки по теме:

Как создать отдельную функцию для каждого объекта класса C++
C++ Нужно ли создавать новый Render для каждого нового объекта (SDL2)?
C++ Зачем в программе 2 раза вызывать конструктор для одного объекта
C++ Почему для временного безымянного объекта не вызывается оператор ()?
#c++ Написал программу, qt выдает ошибки напротив cout по всей программе. Подскажите почему C++

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

Или воспользуйтесь поиском по форуму:
dimkaok
 Аватар для dimkaok
1 / 1 / 0
Регистрация: 06.03.2013
Сообщений: 128
24.04.2013, 15:56  [ТС]     Подскажите, почему для каждого объекта в программе выдает две ошибки #26
Цитата Сообщение от Tulosba Посмотреть сообщение
Есть файл, в котором объекты объявлены без "extern"?
Нет, это я уже ошибся, убрал отовсюду extern

Цитата Сообщение от stima Посмотреть сообщение
А вообще вы уже архитектурно не правы. Куча статики и Все знают о всех
В смысле куча статики? У меня только константные переменные статичные. А то, что все объекты
в одном месте, то да, тут я подозреваю, что-то не то я сделал

Можете, пожалуйста, посмотреть мой код?
Я там уже все дописал, мне только нужно объекты правильно определить
Вложения
Тип файла: zip C++ RPG.zip (16.1 Кб, 3 просмотров)
Yandex
Объявления
24.04.2013, 15:56     Подскажите, почему для каждого объекта в программе выдает две ошибки
Ответ Создать тему
Опции темы

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