![]() |
Ответ: Вопрос-Ответ
ух ты) спасибо)
еще вопрос: а с "typedef unsigned short int usi;", который почти в каждом файле нужен, что делать? Цитата:
|
Ответ: Вопрос-Ответ
сделать файл типа type.h, написать туда эту строчку и другие подобные и подключать его где надо.
|
Ответ: Вопрос-Ответ
есть две переменные в юнит.hpp:
extern cUnit * PLAYER1, PLAYER2; в юнит.срр пишу: cUnit * PLAYER1 = 0; cUnit * PLAYER2 = 0; итог:e:\datar\inc\unit.cpp(249) : error C2040: PLAYER2: "cUnit *" отличается по уровням косвенного обращения от "cUnit" еще не все... в конструкторе: if (!(_stricmp(unit_name, "player1"))){is_player = true; PLAYER1 = this;} итог: error C2679: бинарный '=': не найден оператор, принимающий правый операнд типа 'cUnit *const ' (или приемлемое преобразование отсутствует) что за печаль такая((( |
Ответ: Вопрос-Ответ
Цитата:
Цитата:
нахер ты там эти переменные создал? |
Ответ: Вопрос-Ответ
обьявил и определил игроков в самом конце файлов и работает)
может проект еще в незапускаемом состоянии) и еще: почему нельзя создавать там переменные? |
Ответ: Вопрос-Ответ
можно, но там им не место
|
Ответ: Вопрос-Ответ
ура! запускается! но до конца еще есть куда пилять
вот заинклюдил как обычно очередной хедер/срр-шник, и вот: компилер упорно не хочет распознавать стд::вектор как тип, даже если пишу class std::vector; using namespace std; подкинь какую-нить статью/книжечку где в кратце рассказывается о такой структуре проектов, или напиши что и как, а то еще всю программу закостыляю нафиг, если еще не закостылял блин ( если точнее: хедер: Код:
#ifndef _LOCALE_HPP Код:
#include <pch.h> Код:
#ifndef PCH_H Код:
#ifndef _COM_HPP UPD:: да фиг с этим всем, если надо то могу дать ВЕСЬ исходный код |
Ответ: Вопрос-Ответ
судя по коду уже стопудово закостылял.
по текущему коду: зачем функции extern? она итак всегда extern если не inline. почему название неймспейса написано капсом - капосм пишем дефайны или инлайн функции. где включение pch.h? (оно очевидно должно быть в com.h, но я его там не вижу) ну и явное задание размера массивов в параметрах и членах класса. ты знаешь, что ты не сможешь вызвать функцию передавая ей массив другого (даже меньшего) размера? почитай струструпа. главы 9,23,24. |
Ответ: Вопрос-Ответ
спасибо, почитал )
на счет проблемы: сделал вместо #include <locale.hpp> #include "locale.hpp" и все пошло как надо О_О но есть еще в Локали функция: char * _(char id[64], char * text); так вот, главный срр не хочет распознавать ни неймспейса Локали, ни функции когда я повторно обьявляю эту функцию в главном срр, компилер просит 'libboost_locale-vc90-mt-gd-1_50.lib' блин и что делать? (буст использует луабинд) UPD: Убрал нафиг вообще эту функцию, всеравно либу буста просит UPD: Оййой) Поменял название хедера локали и все заработало) Надо бы убрать папку буста из списка каталогов студии))) Вопрос удачно закрыт) |
Часовой пояс GMT +4, время: 01:23. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot