3

tmpkeyが同じタイプとサイズであることを知っているのに、なぜこのようなエラーが発生するのか、私には本当にわかりません。

uint8_t key[8] = {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07};

void change() {

    int i;
    uint8_t *tmp[8];

    for(i=0; i<8; i++){
        tmp[i] = key[(i+3)%8];
    }
}

これにより、次が生成されます。

警告: 代入は、キャストなしでポインターから整数を作成します [-Win-conversion

4

2 に答える 2

2

tmpそしてkey同じタイプです

いいえ。ではない。どちらも配列ですが、データ型が異なります。1 つはuint8_t *配列で、もう1 つはuint8_t配列です。

変化する

 uint8_t *tmp[8];

uint8_t tmp[8] = {0};
于 2016-01-17T15:31:56.397 に答える