Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
1 / 1 / 1
Регистрация: 16.12.2015
Сообщений: 61

Найти причины и способы устранения ошибок в коде

21.01.2016, 01:23. Показов 747. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!

При компиляции появляются следующие ошибки! Помогите исправить их!

1)
C++
1
2
.cpp(911) : error C2039: 'dwQuestId' : is not a member of 'tagQuestProto'
.h(243) : see declaration of 'tagQuestProto'
Файл cpp ссылается на файл h

Вот 911 строка из файла cpp
C++
1
pQuest->dwQuestId = m_ctrlTab.GetItemTextAsDWORD( 3 );
Вот часть кода из файла h с пометкой 243 строки
C++
1
2
3
4
5
6
class QuestScript;
 
struct  tagQuestProto
{                                                //это 243 строка
    // 任务属性
    UINT16                  id;

2) Тоже ошибка C2039 это другой cpp, но он всё также ссылается на 243 строку того же h файла

C++
1
error C2039: 'szName' : is not a member of 'tagQuestProto'
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.01.2016, 01:23
Ответы с готовыми решениями:

Найти причины и способы устранения ошибок в коде
В онлайн компиляторе выдает ошибки: Compiler Output: ZP9NviRq.c:2:16: error: math: No such file or directory ZP9NviRq.c: In function...

Найти причины и способы устранения ошибок в коде
Помогите исправить ошибку. unsigned long * A4B(unsigned long*a, unsigned long*b) { unsigned long *c; c = new...

Найти причины и способы устранения ошибок в коде
Прошу Вашей помощи. Я только начинаю изучать С++. Пытаюсь создать программу а он выдает ошибки 1>------ Сборка начата: проект:...

4
337 / 185 / 80
Регистрация: 22.08.2013
Сообщений: 724
21.01.2016, 01:34
Отвлекись от 243 строки. Компилятор пишет, что в структуре tagQuestProto нет членов dwQuestId и szName. Покажи всё объявление tagQuestProto.
0
1 / 1 / 1
Регистрация: 16.12.2015
Сообщений: 61
21.01.2016, 15:19  [ТС]
Вот полный код этой структуры

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

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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
struct  tagQuestProto
{  
    // 任务属性
    UINT16                  id;                                             //任务ID,唯一标识任务
    UINT16                  prev_quest_id;                                  //前一个任务1ID
    UINT16                  prev_quest2_id;                                 //前一个任务2ID
    INT                     prev_quest_relation;                            //两个前序任务之间的关系, 0 为两个都必须完成 1 两个完成其中一个就可以
    UINT16                  next_quest_id;                                  //后续任务ID
    UINT16                  uncomplete_quest_id;                            //未完成任务ID,为了达到 如果完成某个任务,就不能接取接取该任务
    BOOL                    auto_add_quest;                                 //当前任务完成后,后续任务是否自动加载到玩家身上
    DWORD                   accept_flags;                                   //任务接取标志
    INT                     type;                                           //任务类型: 新手任务 主线任务 剧情任务等等
    EQuestTargetMode        target_mode;                                    //任务目标类型:   0 -- 静态目标, 1 --  动态目标
    BYTE                    suggested_players;                              //建议玩家个数    
    DWORD                   limit_time;                                     //任务完成的限制时间
    BYTE                    accept_times;                                   //每个玩家接取任务次数
    BOOL                    period;                                         //是否是周期性任务
    EQuestPeriodic          period_type;                                    //任务周期类别(每天 每周)
    EWeek                   week;
    BOOL                    repeatable;                                     //任务是否可以重复
    DWORD                   accept_quest_npc[QUEST_ACCEPT_NPC];             //接取任务NPCID
    DWORD                   complete_quest_npc[QUEST_COMPLETE_NPC];         //完成任务NPCID
    DWORD                   src_item;                                       //任务发布者给的任务物品ID
    INT16                   src_item_num;                                   //任务发布者给的任务物品数量
    BOOL                    show_quest_dialog;                              //接取任务后是否弹出任务界面
    FLOAT                   destination_x;                                  //任务目的地 X 坐标
    FLOAT                   destination_y;                                  //任务目的地 Y 坐标
    FLOAT                   destination_z;                                  //任务目的地 Z 坐标
    BOOL                    no_delete;                                      //任务不能被删除 为 TRUE时不能被删除,FALSE 可以被删除,大部分任务是可以被删除的
    DWORD                   investigate_objects[QUEST_ITEMS_COUNT];         //可调查地物
    // 字符串相关
    TCHAR                   name[X_SHORT_NAME];                             //任务名称
    TCHAR                   conditions[X_SHORT_NAME];                       //任务条件
    TCHAR                   over_view[QUEST_OVERVIEW];                      //任务概述
 
    //任务接取条件
    INT32                   accept_req_max_level;                           //接取任务所需要的最大等级
    INT32                   accept_req_min_level;                           //接取任务所需要的最小等级
    INT32                   accept_req_rep[QUEST_REPUTATIONS_COUNT];        //接取任务所需要的声望
    INT32                   accept_req_min_rep[QUEST_REPUTATIONS_COUNT];    //接取任务所需要的声望最小值
    INT32                   accept_req_max_rep[QUEST_REPUTATIONS_COUNT];    //接取任务所需要的声望最大值
    BYTE                    sex;                                            //接取任务所需要的性别
    INT                     class_type;                                     //接取任务所需要的职业    
    DWORD                   accept_req_map;                                 //接取任务所需要的地图
    DWORD                   accept_req_skill[QUEST_SKILLS_COUNT];           //接取任务所需要的技能
    INT32                   accept_req_skill_val[QUEST_SKILLS_COUNT];       //接取任务所需要的技能值
    DWORD                   accept_req_item[QUEST_ITEMS_COUNT];             //接取任务所需要的物品ID
    INT16                   accept_req_item_num[QUEST_ITEMS_COUNT];         //接取任务所需要的物品数量
    INT32                   accept_req_att[QUEST_ATTS_COUNT];               //接取任务所需要的人物属性
    INT16                   accept_req_att_val[QUEST_ATTS_COUNT];           //接取任务所需要的人物属性值
    DWORD                   accept_req_trriger[QUEST_TRIGGERS_COUNT];       //接取任务所需要的触发器ID
    INT32                   accept_req_money;                               //接取任务所需要的金钱
    BOOL                    accept_del_money;                               //接取任务后,是否删除相应金钱
    BOOL                    del_req_item;                                   //限制物品是否删除
    BOOL                    married;                                        //是否结婚
    BYTE                    lover_num;                                      //情侣数量
 
    //任务完成条件
    DWORD                   complete_req_item[QUEST_ITEMS_COUNT];           //完成任务所需要的物品
    INT16                   complete_req_item_num[QUEST_ITEMS_COUNT];       //完成任务所需要的物品数量
    BOOL                    only_one_item;                                  //是否搜集完其中一种就可完成
    BOOL                    delete_item;                                    //完成任务后是否需要删除物品
    DWORD                   complete_req_creature[QUEST_CREATURESID_COUNT]; //完成任务所需要杀的怪
    INT16                   complete_req_creature_num[QUEST_CREATURES_COUNT];//完成任务所需要杀的怪数量
    BOOL                    creature_level;                                 //是否指定击杀指定等级 的怪物
    BOOL                    only_one_creature;                              //是否击杀完指定数量的一种怪物就可完成
    DWORD                   complete_req_npc[QUEST_NPC_COUNT];              //完成任务所需要对话的NPC数量
    BOOL                    only_in_order;                                  //是否必须按顺序对话
    BOOL                    only_one_npc;                                   //是否只和一个NPC对话后就可完成
    DWORD                   complete_req_trigger[QUEST_TRIGGERS_COUNT];     //完成任务所需要的触发器ID
    BOOL                    only_one_trigger;                               //是否只触发一个就可完成
    INT32                   complete_req_money;                             //完成任务所需要的金钱
    BOOL                    complete_del_money;                             //完成任务后是否删除相应金钱
    INT16                   complete_req_map;                               //好友数量
    BYTE                    complete_req_map_x;                             //队友数量
    //FLOAT                 complete_req_map_y;                             //完成任务所需要的地图Y坐标
    //FLOAT                 complete_req_map_z;                             //完成任务所需要的地图Z坐标
    //FLOAT                 complete_req_map_radius;                        //完成任务所需要的地图半径
    //BOOL                  coordinate_random;                              //这个坐标是否随机生成
    EQuestCompleteEventType event_type;                                     //任务完成事件类型
    DWORD                   use_item;                                       //使用的物品ID
    DWORD                   use_skill;                                      //使用的技能ID
    BOOL                    only_one_condition;                             //是否以上所有条件完成一项即可完成整个任务
    BOOL                    spec_condition;                                 //任务使用特殊完成条件
    INT32                   complete_req_level;                             //完成任务需要的等级
    BOOL                    complete_req_married;                           //是否结婚
    BYTE                    complete_req_lover_num;                         //情侣数量
 
    //任务奖励
    INT32                   rew_money;                                      //任务完成后,奖励的金钱
    INT32                   rew_xp;                                         //任务完成后,奖励的经验值
    DWORD                   rew_rep[QUEST_REPUTATIONS_COUNT];               //任务奖励的声望
    INT32                   rew_rep_val[QUEST_REPUTATIONS_COUNT];           //任务奖励的声望值
    DWORD                   rew_contribution[QUEST_CONTRIBUTION_COUNT];     //任务奖励的贡献
    INT32                   rew_contribution_val[QUEST_CONTRIBUTION_COUNT]; //任务奖励的贡献值
    DWORD                   rew_item[QUEST_REW_ITEM];                       //任务奖励的物品ID
    INT16                   rew_item_num[QUEST_REW_ITEM];                   //任务奖励的物品数量
    INT16                   rew_item_quality[QUEST_REW_ITEM];               //任务奖励的物品品级
    DWORD                   rew_choice_item[QUEST_REW_ITEM];                //任务奖励的可选物品ID
    INT16                   rew_choice_item_num[QUEST_REW_ITEM];            //任务奖励的可选物品数量
    INT16                   rew_choice_quality[QUEST_REW_ITEM];             //任务奖励的可选物品品级
    INT32                   rew_att[QUEST_ATTS_COUNT];                      //任务奖励的属性
    INT16                   rew_att_val[QUEST_ATTS_COUNT];                  //任务奖励的属性值
    DWORD                   rew_skill[QUEST_SKILLS_COUNT];                  //任务奖励的技能
    INT32                   rew_skill_val[QUEST_SKILLS_COUNT];              //任务奖励的技能值
    DWORD                   rew_buff[QUEST_REW_BUFF];                       //任务奖励的buff
    tagClassReward          rew_class_item[QUEST_CLASS_REW_COUNT];          //任务职业奖励
 
    //任务脚本指针
    mutable QuestScript*    quest_script;                                   //任务脚本
    DWORD                   quest_flags;                                    //任务标识,杀怪,收集物品等等
 
    // 新增:传道任务相关字段
    INT                     chuandao_count;                                 // 传道任务需要达到的协助次数                  
    INT32                   chuandao_junior_min_level;                      // 传道对象的最小等级
    INT32                   chuandao_junior_max_level;                      // 传道对象的最大等级
};
0
543 / 486 / 104
Регистрация: 05.05.2014
Сообщений: 1,110
21.01.2016, 15:26
Krek39, ну, дык, их там и правда нет
0
1 / 1 / 1
Регистрация: 16.12.2015
Сообщений: 61
21.01.2016, 21:22  [ТС]
Это я вижу, но дело в том что я не врубаюсь какие идентификаторы нужно добавлять если например я добавлю так

C++
1
DWORD dwQuestId;
То ошибка исчезает! Но как определить какой идентификатор нужен по каждый?

Общий список к которым нужно добавить идентификаторы!

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

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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
szName;
dwPrevQuestId;
dwNextQuestId;
bAutoAddQuest;
bQuestPlayerAccept;
bQuestSystemRelease;
bQuestItemAccept;
szConditions;
szOverview;
eQuestType;
dwSuggestedPlayers;
dwLimitTime;
dwDoQuestTimes;
bPeriodic;
eQuestPeriodic;
eWeek;
bRepeatable;
QuestStartScriptID;
QuestCompleteScriptID;
dwAcceptQuestNPCID[0];
dwAcceptQuestNPCID[1];
dwAcceptQuestNPCID[2];
dwAcceptQuestNPCID[3];
dwAcceptQuestNPCID[4];
dwAcceptQuestNPCID[5];
dwCompleteQuestNPCID[0];
dwCompleteQuestNPCID[1];
dwCompleteQuestNPCID[2];
dwCompleteQuestNPCID[3];
dwCompleteQuestNPCID[4];
dwCompleteQuestNPCID[5];
dwSrcItemID;
dwSrcItemCount;
dwGetQuestRequiredMaxLevel;
dwGetQuestRequiredMinLevel;
dwGetQuestRequiredRep;
dwGetQuestRequiredMinRepValue;
dwGetQuestRequiredMaxRepValue;
dwGetQuestRequiredSex;
dwGetQuestRequiredClass;
dwGetQuestRequiredMapID;
dwGetQuestRequiredSkill;
dwGetQuestRequiredSkillValue;
dwGetQuestRequiredItemID;
dwGetQuestRequiredItemCount;
bDelRestrictedItem;
dwGetQuestRequiredAtt;
dwGetQuestRequiredAttValue;
dwGetQuestReqTriggersID;
bGetQuestReqMarried;
dwGetQuestReqLoverNum;
dwCompleteQuestRequiredItemID;
dwCompleteQuestRequiredItemIDCount;
bRequiredOnlyOneItem;
bDeleteItem;
dwCompleteQuestRequiredCreatureID;
dwCompleteQuestRequiredCreatureCount;
bRequiredCreatureLevel;
bRequiredOnlyOneCreature;
dwCompleteQuestRequiredNPC;
bRequiredOnlyInOrder;
bRequiredOnlyOneNPC;
dwCompleteQuestReqTriggersID;
bRequiredOnlyOneTrigger;
dwCompleteQuestRequiredMoney;
dwCompleteQuestRequiredMapID;
fCompleteQuestRequiredMap_X;
fCompleteQuestRequiredMap_Y;
fCompleteQuestRequiredMap_Z;
fCompleteQuestRequiredMap_Radius;
bCompleteQuestRequiredMap_Random;
eCompleteQuestEventType;
dwUseItemEvent_Item_ID;
dwUseSkillEvent_Skill_ID;
bRequiredOnlyOneCondition;
bCompleteQuestReqMarried;
dwCompleteQuestReqLoverNum;
dwCompleteQuestReqLevel;
dwRewMoney;
dwRewXP;
dwRewRequiredRep;
dwRewRequiredRepValue;
dwRewItemID;
dwRewItemCount;
dwRewChoicesItemID;
dwRewChoicesItemCount;
dwRewAtt;
dwRewAttValue;
dwRewSkill;
dwRewSkillValue;
dwRewBuff;
dwQuestId;
dwAcceptQuestNPCID;
dwCompleteQuestNPCID;


Добавлено через 2 часа 39 минут
Я заметил такую вещь, смотрим например
C++
1
UINT16  prev_quest_id;
А теперь смотрим ошибку
C++
1
dwPrevQuestId;
И получается что это тоже самое только добавлен dw и убраны _ !
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.01.2016, 21:22
Помогаю со студенческими работами здесь

Найти причины и способы устранения ошибок в коде (работа с векторами строк)
#include <iostream> #include <fstream> #include <string> #include <vector> int main() { system("chcp...

Найти причины и способы устранения ошибок в коде (структуры, файловый ввод/вывод)
#include <iostream> #include <fstream> #include <string> using namespace std; struct avto { string mark; string cost; ...

Найти причины и способы устранения ошибок в коде (я даже не понимаю, в чём ошибка)
Компилятор точной ошибки не выдает, может кто-нибудь подскажет? #include <stdio.h> #include <Windows.h> #include...

Найти причины и способы устранения ошибок в коде и организовать файловый ввод/вывод
Уплотнить массив, удалив из него все нулевые строки и столбцы Почему то код не работает и как реализовать в программе ввод через...

Найти причины и способы исправления ошибок в коде
Программа из 2 модулей падает в этом месте x=x*y; y=x/y; x=x/y; пишет что типа делить на ноль нельзя как исправить вот вся...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru