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

invalid types ‘Room [26][26][26][double]’ for array subscript. Помогите разобраться пожалуйста. - C++

Восстановить пароль Регистрация
 
Invader_Zim
Twilight Parasite
 Аватар для Invader_Zim
153 / 149 / 2
Регистрация: 21.07.2011
Сообщений: 907
04.08.2011, 01:03     invalid types ‘Room [26][26][26][double]’ for array subscript. Помогите разобраться пожалуйста. #1
Параметр ловушки не выводиться(Trap)
Выбивает ошибку

invalid types ‘Room [26][26][26][double]’ for array subscript

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
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <unistd.h>
#include <time.h>
 
using namespace std;
 
class Room{
    public:
    Room(){x=0;y=0;z=0;Trap=0;};
    int x,y,z;
    bool Trap;
};
 
int main(){
    srand(time(NULL)); 
    double X,Y,Z,X1,Y1,Z1;
    float T1,T2,T3;
    Room Cube[26][26][26];
    for(int i=0;i<=25;i++){
            for(int j=0;j<=25;j++){
            for(int k=0;k<=25;k++){
                        Cube[i][j][k].x=i;
                printf("X=%d",Cube[i][j][k].x);
                Cube[i][j][k].y=j;
                printf(" Y=%d",Cube[i][j][k].y);
                Cube[i][j][k].z=k;
                printf(" Z=%d",Cube[i][j][k].z);
                T1=Cube[i][j][k].x;
                T2=Cube[i][j][k].y;
                T3=Cube[i][j][k].z;
                if((fmod(T1,2)!=T1 && fmod(T1,3)!=T1 && fmod(T1,5)!=T1 && fmod(T1,7)!=T1 && fmod(T1,11))!=T1 && (fmod(T2,2)!=T2 && fmod(T2,3)!=T2 && fmod(T2,5)!=T2 && fmod(T2,7)!=T2 && fmod(T2,11)!=T2) && (fmod(T3,2)!=T3 && fmod(T3,3)!=T3 && fmod(T3,5)!=T3 && fmod(T3,7)!=T3 && fmod(T3,11)!=T3)){
                    Cube[i][j][k].Trap=1;
                }
                else
                    Cube[i][j][k].Trap=0;
                printf(" %d\n",Cube[i][j][k].Trap);
            }
        }
    }
    X=rand()%25;
    Y=rand()%25;
    Z=rand()%25;
    printf("%d",Cube[X][Y][Z].Trap);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.08.2011, 01:03     invalid types ‘Room [26][26][26][double]’ for array subscript. Помогите разобраться пожалуйста.
Посмотрите здесь:

С++:invalid types 'int[int]' for array subscript C++
C++ invalid operands of types ‘double*’ and ‘double’ to binary ‘operator*’
invalid operands of types 'double' and 'int' to binary 'operator%' C++
invalid types `float[float]' for array subscript C++
Invalid types `int[int]' for array subscript C++
C++ Передача двумерного массива в функцию. Ошибка "invalid types for array subscript"
C++ Ошибка error: invalid types 'int[int]' for array subscript
C++ Invalid types 'int[int]' for array subscript

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silentnuke
Android Programmer
137 / 138 / 5
Регистрация: 08.12.2010
Сообщений: 421
04.08.2011, 01:12     invalid types ‘Room [26][26][26][double]’ for array subscript. Помогите разобраться пожалуйста. #2
Цитата Сообщение от Invader_Zim Посмотреть сообщение
printf("%d",Cube[X][Y][Z].Trap);
у вас X,Y,Z имеют тип double, а это недопустимо.
ну или делайте явно привидение типов:
C++
1
printf("%d",Cube[(int)X][(int)Y][(int)Z].Trap);
Yandex
Объявления
04.08.2011, 01:12     invalid types ‘Room [26][26][26][double]’ for array subscript. Помогите разобраться пожалуйста.
Ответ Создать тему
Опции темы

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