このクラスと構造体があり、配列上のすべての構造体が別の構造体に接続されています(配列のすべての要素のリンクリスト構造体)。ところで、これは私のコードのサンプルにすぎません。他にエラーがないと仮定します。
class DATA;
class myclass
{
public:
myclass();
mystruct* addDATA(DATA *d);
private:
mystruct* array;
};
struct mystruct
{
DATA * data;
mystruct * next ;
};
コンストラクターでこれを試しています
mystruct::mystruct()
{
mystruct* array = new mystruct[10];
for(int i = 0; i < 10; i++)
array[i] = NULL;
}
これにより、予期しない(少なくとも私にとっては)エラーが発生します。このエラーは少しばかげているのではないでしょうか。NULLを指すポインターを作成しています。
no match for ‘operator=’ in ‘*(array + ((unsigned int)(((unsigned int)i) * 8u))) = 0’
そして、私がしようとしたときも。
while(this->array[i] != NULL){
// do some arrangements on the array..
}
これでも同じエラーが発生します。ポインタをNULLに一致させると、このエラーが発生するのはなぜですか。または、NULLかどうかを確認します。今朝から苦労して、* * ingソリューションが見つかりませんでした:/配列の型は「mystruct」です。しかし、他には何もありません、これは問題ですか?または、array [i]はポインタなどではありませんか?