私はC関数にADA側で宣言されたStringを渡す必要があるC-ADAバインディングプロジェクトに取り組んでいます。 ADAの機能の一つで、私はと有界char配列を宣言:Interfaces.C.Strings.Char_Array_Accessを使用中にエラーが発生しました
Str_C : Interfaces.C.Char_Array(1..23) := (others => Interfaces.C.nul);
とASタイプChar_Array_Access
のベクトルを宣言:
Ptr1 : Interfaces.C.Strings.Char_Array_Access := Str_C'Access;
しかし、コンパイラは、上述のベクトルの初期化時にコンパイルに失敗します"接頭辞の接頭辞"には別名を付ける必要があります。
(char_array型は既にchar型のエイリアスなので、以前はchar_arrayのエイリアスを作成していませんでした)
OK、のようchar配列の宣言にエイリアスキーワードを追加してみましょう。
Str_C : aliased Interfaces.C.Char_Array(1..23) := (others => Interfaces.C.nul);
が、それはまだのように、ベクトルライン上のエラーで失敗します。
ここで何が問題になっているのか分かりません。どんな助けもありがとう!
は、このC++ではないですか? –
いいえ、それはC-ADAバインディングです –
[タグ:c] – LPs