次の 2 つの C++ 構造があります。
struct Vertex3D{
GLfloat x;
GLfloat y;
GLfloat z;
Vertex3D(GLfloat a, GLfloat b, GLfloat c){
x = a;
y = b;
z = c;
}
};
struct Triangle3D{
Vertex3D v1;
Vertex3D v2;
Vertex3D v3;
Triangle3D(Vertex3D vt1, Vertex3D vt2, Vertex3D vt3){
};
};
Vertex3D のコンストラクターは問題ありませんが、Triangle3D のコンストラクターでは警告が表示され、xcode でコンパイルできません。エラーには、「'Triangle3D' のコンストラクターは、既定のコンストラクターを持たないメンバー 'v2' を明示的に初期化する必要があります」と表示されます。しかし、Vertex3D タイプの構造体のコンストラクターを作成しました。Traangle3D のこのコンストラクタの実際の問題点は何ですか? それを変更する必要がありますか、それとも他の struct でコンストラクターを作成することはできませんか?