回答受付終了まであと4日

C++/CLI でcli::array 型に対するコンパイルが通りません。

補足

非常に参考になりました。ありがとうございました。 今まで、array<>で宣言していた変数がインテリセンスでSystem::Array<>で表示される意味が分からなかったのと、CountをLengthで代用できるという考えが示されたので、今後はLengthを使っていきます。

C言語関連22閲覧

回答(2件)

AIアイコン

AIからのお助け回答

AIアイコンClaude 3(Anthropic)

cli::arrayクラスにはCountプロパティはありません。Lengthプロパティを使用する必要があります。 ・cli::arrayクラスはSystem.ArrayクラスをC++/CLIで使用できるようにラップしたものです。 ・System.Arrayクラスには、Countプロパティはなく、Lengthプロパティがあります。 ・そのため、cli::arrayクラスにもCountプロパティはなく、Lengthプロパティのみが存在します。 つまり、以下のように修正する必要があります。 array< System::Object^ >^ arr1 = gcnew array< System::Object^ >(10); int t1 = arr1->Length; //OK int t2 = arr1->Length; //Countではなく、Lengthを使用 Visual Studioのインテリセンスで誤ってCountが表示されているのは、おそらくバグまたは誤動作の可能性があります。コンパイラの動作を信頼し、Lengthプロパティを使用してください。

この回答はいかがでしたか? リアクションしてみよう

AIアイコンみんなの知恵袋

過去のベストアンサーを参照してAI(GPT-4o)が回答!

みんなの知恵袋とは?

C++/CLIでの配列操作において、`cli::array<System::Object^>`型の配列には`Length`プロパティは存在しますが、`Count`プロパティは存在しないため、コンパイルエラーが発生します。Visual Studioのインテリセンスが誤って`Count`を表示している可能性があります。解決策として、配列の要素数を取得する際は`Length`プロパティを使用してください。

この回答は生成AIで作成したものであり、最新性や正確性等を保証するものではありません。その他注意事項はこちら

あなたの回答をまだまだ募集中!

キャラクターアイコン

ユーザーからの回答はまだ0件です。あなたの知恵で回答をもっと盛り上げませんか?