“array type has incomplete element type” というエラーメッセージは、配列の要素の型が不完全な場合に表示されます。
例えば、次のようなクラスを定義したとします。
class MyClass;
class MyArray {
  MyClass* x[10];
};このクラス MyArray には、ポインタ型の配列 x を定義しています。しかし、配列 x の要素の型であるクラス MyClass は定義されていません。
そのため、このようなコードを実行すると、次のようなエラーが表示されます。
$ ./myprogram array type 'MyClass*[10]' has incomplete element type 'MyClass'
このような場合、配列の要素の型を完全な型にする必要があります。例えば、次のようにクラス MyClass を定義することで、プログラムを修正することができます。
class MyClass {
  int x;
};
class MyArray {
  MyClass* x[10];
};この場合、配列 x の要素の型が完全な型の MyClass になり、エラーが表示されなくなります。
 
  
  
  
  
コメント