動的に割り当てられたconst char配列にconst char配列を割り当てるコードを記述しようとしています。 は私がconst char配列から動的に割り当てられたconst char配列に初期化する
const char staticArray[4] = "abc";
const char * ptrDynamicArray;
ptrDynamicArray = new const char[4](staticArray);
ようにそれを実行しようとしました。しかし、私は(「配列に括弧で囲まれた初期化子新しい[-fpermissive]」)エラーが発生します。
私は2つの質問がある:
どのように私はそれを解決できる - などの(私はコード::ブロック16.01を使用しています)、それをオフにしますか?
動的に割り当てられたconst char配列を何とか初期化できますか?
まず、 'std :: string'を使用することをお勧めします。 Cスタイルの文字列をコピーするには、 'strcpy'または同様のルーチンのサービスが必要です。あなたの式 'new const char [4](staticArray);'は、新しく作成された配列の各要素を 'staticArray'で構築しようとします。そして 'char'型は' char [4] 'の型を使って構築できません – WhiZTiM
配列は文字列であるはずですか?それでは['std :: string'](http://en.cppreference.com/w/cpp/string/basic_string)を使わないのはなぜですか? –
ストリームをfstreamに渡すには、最後にconst char *が必要です –