C++/CLI_ '自作クラス': 定義されていない識別子です

自作型をコンボボックスに表示したC# のコードを C++/CLI でも実現したい。メモ 02

C# だと自作クラスを、呼び出すクラス ( Form1 ) の後に書こうが前に書こうが動いたのでハマった。
しっかりドキュメントに書いてあったのに。

 

変数の型は、変数が使われる前宣言されている必要がある

また、関数が使うパラメーターは関数が呼び出される前に
宣言 または プロトタイプで宣言 されている必要がある。

 

エラー

    public ref class Form1 : public System::Windows::Forms::Form
    {
        //略
    }
   
    public ref class MyTestClass
    {
        //略
    }

 

ビルド OK

    public ref class MyTestClass
    {
        //略
    }
   
    public ref class Form1 : public System::Windows::Forms::Form
    {
        //略
    }

 

 

だが、使う前に宣言すると別のエラーが出る

Form1 のデザインを開こうとしたら、

クラス Form1 はデザインできますが、ファイルの最初のクラスではありません。
Visual Studio では、デザイナーはファイルの最初のクラスを
使用する必要があります。
クラスがファイルの最初のクラスになるようにクラス コードを移動して、
デザイナーを再度読み込んでください

と出た。別ファイルに書いて読み込むしかないかな…。

 

 

こちらから。
https://msdn.microsoft.com/ja-jp/library/ewcf0002.aspx

以上。