もつ:
[DllImport("OpenAL32.dll")]
static extern void alcOpenDevice(char*[] devicename);
smthのようにこの関数に名前を送信したい:
char[] data = "Hello!".ToCharArray();
char*[] txt = &data;
しかし、エラーが発生します:
char[] *
タイプを暗黙的に変換することはできませんchar * []
(C#コンパイラが/ unsafeモードでの定義も拒否するため、面白いエラー
char[] *
です:))のアドレスを取得したり、サイズを取得したり、マネージ型へのポインタを宣言したりすることはできません(
char[]
)
PS
いつchar
管理されるようになりますか?構造体ですね。
public struct Char : IComparable, IConvertible, IComparable<char>, IEquatable<char>
コンパイラは、マネージ型へのポインタの宣言に関する情報を示しましたが(char[]
)。タイプが配列の場合、CLRはそれをマネージドタイプのように表示する可能性があることを示唆することしかできませんが、それは非常にクレイジーに聞こえます。