В следующем С ++ код:ошибка: несовместимые типы в присвоении `Int 'в` Int [2]'
int iBlocks[9][2];
class System{
void setBlocks(){
int iUCtr = 0;
int iUYCtr = 105;
while(1){
int iUXCtr = 180;
while(1){
iBlocks[iUCtr] = 0; //error happens here.
iBlocks[iUCtr][0] = iUXCtr;
iBlocks[iUCtr][1] = iUYCtr;
iUCtr += 1;
iUXCtr += 120;
if(iUXCtr>420) break;
}
iUYCtr += 120;
if(iUYCtr>345) break;
}
}
public:
System(){
setBlocks();
cout << "Block settings set..." << endl;
}
};
MinGW G ++ производит эту ошибку:
incompatible types in assignment of `int' to `int[2]'
Проблема заключается в iBlocks[iUCtr] = 0;
,
Когда я изменил iBlocks на указатель, он сработал. Может кто-нибудь объяснить мне, что происходит под капотом?
Эта строка неправильная. Что ты пытаешься сделать? Вы можете просто удалить его. –
Ну ... что это ты делал _trying_? Мы не можем сказать из кода, потому что, как вы обнаружили, код не делает этого. 'iBlocks [iUCtr] = 0;' неверно, потому что 'iBlocks [iUCtr]' - это массив 'int' и '0' - это всего лишь один' int', как сказано в ошибке. –
Вы не можете получить доступ к массиву. Что ты пытаешься сделать? –