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

Необъявленный идентификатор - C++

Восстановить пароль Регистрация
 
Kirill_Polyakov
0 / 0 / 0
Регистрация: 22.07.2013
Сообщений: 18
02.01.2014, 20:46     Необъявленный идентификатор #1
C++
1
2
3
addClientCommand( "m0d_tele_locations", (int)cmd_tele_locations );
addClientCommand( "m0d_teleport_locations", (int)cmd_tele_locations );
addClientCommand( "adminsonline", (int)cmd_admins );
C++
1
samp.cpp(1265): error C2065: cmd_admins: необъявленный идентификатор

http://ltmages.tk/GF
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.01.2014, 20:46     Необъявленный идентификатор
Посмотрите здесь:

C++ Необъявленный идентификатор
endl необъявленный идентификатор C++
string: необъявленный идентификатор C++
необъявленный идентификатор C++
C++ Класс: необъявленный идентификатор
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Байт
 Аватар для Байт
13993 / 8824 / 1231
Регистрация: 24.12.2010
Сообщений: 15,990
02.01.2014, 20:54     Необъявленный идентификатор #2
Цитата Сообщение от Kirill_Polyakov Посмотреть сообщение
cmd_admins: необъявленный идентификатор
Таки скорее всего он и впрямь не объявлен. Посмотрите место, где вы его пытаетесь объявить, проверьте, его ли вы объявляете...
Ошибка самая стандартная, и никто не сможет ее понять и исправить лучше, чем вы.
Kirill_Polyakov
0 / 0 / 0
Регистрация: 22.07.2013
Сообщений: 18
02.01.2014, 22:11  [ТС]     Необъявленный идентификатор #3
Цитата Сообщение от Байт Посмотреть сообщение
Таки скорее всего он и впрямь не объявлен. Посмотрите место, где вы его пытаетесь объявить, проверьте, его ли вы объявляете...
Ошибка самая стандартная, и никто не сможет ее понять и исправить лучше, чем вы.
Ну вот весь код

1. В ini.h ищем struct settings и добавляем туда переменную-массив
C++
1
2
3
char                    admin[150][24]; 
// 150 - количество возможных значения для admin 
// 24 - максимальный размер строки для значения admin
2. В ini.cpp
C++
1
2
3
4
5
if ( (ent = ini_register_entry("admin", TYPE_STRING)) != NULL ) 
{ 
for ( i = 0; i < 200; i++ ) 
ini_register_data( ent, set.admin + i, "" ); 
}
3. В samp.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
void cmd_admins( char *param ) 
{     
int count = 0; // переменная, отвечающая за количество найденых админов 
 
// цикл для получения ников всех игроков на сервере по иду, где i - ид игрока: 
for(int i = 0; i < SAMP_PLAYER_MAX; i++) 
{ 
// цикл для проверки всех значений set.admin со всеми никами на сервере: 
for(int x = 0; x < 150; x++) 
{ 
 
// чтоб не вылетало если значение для set.admin[x] равно нулю или когда getPlayerName(i) равно 0 
// Если getPlayerName(i) или set.admin[x] равны нулю то мы прерываем проверку 
if(getPlayerName(i) == NULL || set.admin[x] == "NULL") 
break; 
 
// Если getPlayerName(i) равно set.admin[x] то выводим сообщение на экран и плюсуем значение для int count 
if(!strcmp(getPlayerName(i), set.admin[x]) == 1) 
{ 
addMessageToChatWindow("Админ: %s [ID: %d]", getPlayerName(i), i ); 
count ++; 
} 
} 
} 
// если count равен 0, то значит 0 совпадений и значит админов нету 
if ( count == 0 ) addMessageToChatWindow("Нет админов онлайн"); 
}
4. В samp.cpp ко всем командам
C++
1
 addClientCommand( "adminsonline", (int)cmd_admins );
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
02.01.2014, 22:27     Необъявленный идентификатор #4
Kirill_Polyakov, cmd_admins объявлена перед выполнением addClientCommand ?
Вообще приводить указатель на функцию к int - плохая идея...
Байт
 Аватар для Байт
13993 / 8824 / 1231
Регистрация: 24.12.2010
Сообщений: 15,990
02.01.2014, 22:43     Необъявленный идентификатор #5
Kirill_Polyakov, Неужели вы думаете, что мне (или кому другому) интересно возиться с кусками вашего кода? Вам сказали (транслятор), а я подтвердил (Байт), что идентификатор действительно не объявлен. Или находится вне области видимости. И именно вы должны искать в вашей лапше ошибку. Неужели вы думаете, что смысл вашего кода будет кому-то более понятен, чем вам? Ошибки такого рода - лично ваши. И если ваши первые шаги в программировании начинаются с таких "помогите!", то вам лучше бросить это занятие.

Добавлено через 15 минут
Цитата Сообщение от gray_fox Посмотреть сообщение
Kirill_Polyakov, cmd_admins объявлена перед выполнением addClientCommand ?
Вообще приводить указатель на функцию к int - плохая идея...
Серый лис, я правильно перевел7 С Новым Годом!
То, что идея плохая, это идея ТС, и в конце-концов личное его дело. Тут могли бы быть варринги и даже ерроры по поводу трудностей приведения типов. Но необъявленный идентификатор может означать только одно, что идентификатор не объявлен. И я совершенно не вижу смысла в привлечении к этой проблеме кого-то еще, помимо автора этого кода.
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
02.01.2014, 22:56     Необъявленный идентификатор #6
Цитата Сообщение от Байт Посмотреть сообщение
Серый лис, я правильно перевел7 С Новым Годом!

Цитата Сообщение от Байт Посмотреть сообщение
То, что идея плохая, это идея ТС, и в конце-концов личное его дело.
Это грабли на будущее - во-первых достаточно того, что это приводит к неопределённому поведению, во-вторых в int указатель на функцию может просто "не влезть"...
Байт
 Аватар для Байт
13993 / 8824 / 1231
Регистрация: 24.12.2010
Сообщений: 15,990
02.01.2014, 23:16     Необъявленный идентификатор #7
Цитата Сообщение от gray_fox Посмотреть сообщение
Это грабли на будущее
А будет ли оно? Кидать зерна злаков в бесплодной пустыне - правильно ли это? Впрочем, я с вами почти во всем согласен, а мое брюзжание скорее всего относится к непонятной погоде и после-праздничной дипрессучечке.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.01.2014, 23:20     Необъявленный идентификатор
Еще ссылки по теме:

C++ Ошибка: i: необъявленный идентификатор
Необъявленный идентификатор C++
C++ Необъявленный идентификатор

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

Или воспользуйтесь поиском по форуму:
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
02.01.2014, 23:20     Необъявленный идентификатор #8
Цитата Сообщение от Байт Посмотреть сообщение
А будет ли оно?
Не знаю) я просто обратил внимание - так делать не стоит.
Yandex
Объявления
02.01.2014, 23:20     Необъявленный идентификатор
Ответ Создать тему
Опции темы

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