引数を受け取る関数がありchar *
ます:
Foo::Foo (char * arg0) {
....
}
元の例では、char[]
この値を渡すために a が使用されています...
char bar[] = "Bar";
Instance.foo (bar);
...うまくいきます。
char *
しかし、コンパイラからの警告なしに、文字列リテラルを としてキャストして渡すことができることがわかりました。
Instance.Foo ((char *) "Bar");
しかし、私の読書から、それは避けるべきであるようです - 指しているメモリの値は変わる可能性があります。
上記のステートメントは正しいですか (「これは避けるべきです」)、またはこの状況でこれは適切ですか?
編集 - さらなる調査により、私の質問にかなりうまく対処するこの記事が見つかりました...