
C++/CLIの構造体のコンストラクタについて
C++/CLIで、固定サイズの配列を持つ構造体を、次のようにコーディングして使っています。
value struct AAA
{
public:
array<unsigned short>^ m1;
AAA(unsigned short dummy)
{
m1 = gcnew array<unsigned short>(4);
}
};
AAA ^struct0 = gcnew AAA(0);
この方法で正常に動作するのですが、2点ほど気になる点があります。
(1) コンストラクタAAA(unsigned short dummy)を実装しなくても済む方法がないか?
(2) この方法では、struct0を、ネイティブヒープ領域に割り当てられない
(AAA *struct0 = new AAA(0))でコンパイルエラー)
(1)と(2)は関連する気もするのですが、これらを解決する方法はあるのでしょうか?
No.2ベストアンサー
- 回答日時:
>構造体をネイティブヒープ、マネージヒープのいずれにも割り当てることができれば、
言語仕様的に不可能です。
そもそもなんでそんなことが必要なんでしょうか?
C++/CLIでWin32APIを使うときはネイティブヒープ(スタックでも)の構造体でやり取りしますし。
No.1
- 回答日時:
単にvalueクラスにしなければいいのでは?
struct AAA
{
unsigned short m1[4];
};
この回答への補足
回答ありがとうございます。
説明不足でしたので補足いたします。
当方、ネイティブDLLをC++/CLIに対応させる作業を行っており、
構造体をネイティブヒープ、マネージヒープのいずれにも割り当てることができれば、
より、使い勝手も良くなるものと考えています。
構造体AAAをネイティブクラスにすると、
逆に、マネージヒープへの割り当てができなくなってしまいました。
OK: AAA * struct0 = new AAA;
NG: AAA ^ struct0 = gcnew AAA;
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# プログラムが書けません。 4 2023/01/22 22:57
- C言語・C++・C# C言語初心者 構造体 課題について 1 2023/03/10 19:30
- JavaScript jsonテキストデータの並び替えができるサービスを教えてください 2 2022/08/05 20:16
- Excel(エクセル) ¥マークを含むパスの処理について(マクロ、または関数) 2 2022/12/25 02:11
- Visual Basic(VBA) VBA。複数のChangeイベントをまとめる方法 2 2022/03/31 12:03
- Excel(エクセル) セルを参照して条件で値をコピーする 3 2023/02/08 17:45
- Perl perl このテキストファイルを簡単に配列に入れるには? 2 2022/04/27 20:24
- Excel(エクセル) Powershell エクセル検索 完全一致の方法 1 2022/06/05 20:19
- JavaScript JavaScript?jQuery?で書き方を教えてください。 初心者です。 AAAという要素をステ 2 2023/08/04 22:09
- Excel(エクセル) Excel VBA 3 2023/04/22 10:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プログラミングについて。 1つ...
-
gccを行ってもexeファイルが生...
-
c言語
-
visual studio 2022でのC#プロ...
-
C# DatagridviewにExcelシート...
-
mallocについて
-
C言語って古いですか?
-
C言語関数違いについて。
-
逆コンパイルと逆アセンブルの...
-
プログラムの実行時に'<'でリダ...
-
パソコン
-
CPUが16bitでも32bitOSでコンパ...
-
Python、プログラミングについ...
-
だれがとけるの?
-
バッチファイルで以下のような...
-
Notepad++の関数リスト表示の変...
-
VisualStudio2022でC言語プログ...
-
License='MIT' ってなんでmitな...
-
C言語 ストリームについて。
-
c言語でイベントフラグを使った...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
c言語
-
gccを行ってもexeファイルが生...
-
大量のデータを読み込んで表示...
-
visual studio 2022でのC#プロ...
-
C++でデスクトップGUIアプリ開...
-
【C言語】全角文字の配列を、全...
-
Windows Formアプリからコンソ...
-
VisualStudio2022でC言語プログ...
-
C#でログファイルにファイルパ...
-
C#でTreeViewのCheckBoxのサイ...
-
c#のTLS1.2での通信について
-
VisualStudioでC++クラスを追加...
-
C言語について。
-
int16_t の _t は何?
-
プログラマー達は何故、プログ...
-
逆コンパイルと逆アセンブルの...
-
C言語の関数のextern宣言
-
c言語でイベントフラグを使った...
-
C言語 関数、変数の宣言について
-
[C言語]fputsとfprintfの違い
おすすめ情報