2015-09-30 6 views
0

У меня есть это в мой главный:Qt - возвращает массив массив qint32

void main() 
{ 
    qint32 LED[32][32]; 
    LED = INIT_ALL(LED); 
} 

я есть, но это не работает:

qint32** INIT_ALL(qint32 LED[32][32]) 
{ 
    //SET TO ZERO 
    return LED; 
} 

Я хотел бы вернуться правильно это СВЕТОДИОД.

+0

Вы не ошиблись при компиляции или, по крайней мере, предупреждение –

ответ

2

Вам необходимо передать светодиод указателем (или ссылкой в ​​случае C++) на INIT_ALL. В противном случае копия будет передана подпрограмме, а это не то, что вы хотите. BTW, вы должны начать с изучения C или C++ перед началом работы с Qt. Перед началом работы с Qt вам обязательно понадобятся базовые знания языка программирования.

0

Код должен бросить предупреждение, если не ошибка, попробуйте передать ссылку, а на самом деле вы передаете ссылки в любом случае проверить этот фрагмент и посмотреть, если это имеет смысл

void INIT_ALL(int ar[][32]) // No return, we are passing reference 
{ 
    int i = 0, j = 0; 
    for (i = 0; i < 32 ; i ++) 
     for (j = 0 ; j < 32; j ++) 
      ar[i][j] = 0; 

} 

Где-то в вашем коде

int a[32][32] ; 

    INIT_ALL(a); 

    // use LED as it is 
Смежные вопросы