Я делаю маленькую игру для микроплана. Это арканоидная игра. Я пытаюсь реализовать функцию обратного вызова следующим образом:подстрочное значение не является ни массивом, ни указателем, ни вектором
typedef void (*TPFN_BEHAVIOUR)(int block_number);
typedef struct
{
int square_number;
int initial_x;
int initial_y;
int final_x;
int final_y;
TPFN_BEHAVIOUR behaviour;
}Square;
Square block[150];
Тогда я:
block[i].behaviour = app_DetectCollision_SendLife;
где app_Detect_Collision_SendLife является
void app_DetectCollision_SendLife(int i){
int initial_x = block[i].final_x - block[i].initial_x - 5;
int initial_y = block[i].final_y;
services_Screen_Draw(heart, initial_x, initial_y, 10, 9);
}
Я получаю сообщение об ошибке, показанное в заголовке в следующей строке:
block[special_block].behaviour = app_DetectCollision_SendLife;
вы могли бы разместить весь код. [что такое 'special_block'?] – amdixon
Где в коде' app_DetectCollision_SendLife'declared? Это перед строкой 'block [special_block] .behaviour = app_DetectCollision_SendLife;'? – this
Это просто целое число. Способ перебора массива структуры. Я не могу опубликовать весь код, потому что он очень длинный. Просто спроси меня, что тебе нужно, и я объясню тебе. – Aldridge1991