書かれますが定数から初期化される私のunittestsのためにchar* values[]
を作成しようとしています。素朴な方法は、ISO C++がそれを禁じていることを警告がスローされます。文字列定数から文字配列を作成する方法は?
char* single[1];
single[0] = "foobar";
私は明らかに動作しないことが次のことを試してみました:
std::string executable = "foobar";
std::array<char, executable.size()> data; // Error: size not known at compile time
std::copy(executable.begin(), executable.end(); data.data());
char* single[1];
single[0] = data.data();
のような方法があるに違いありません:
std::array<char> data = { "foobar" };
char* single[1];
single[0] = data.data();
C++の文字列定数は定数文字配列です。ですから、例えばconst char * single [1]と書く必要があります。 single [0] = "foobar"; –
@VladfromMoscowしかし、データを自由に操作できるように 'char ** 'が必要です。コンスタンスは途中です。 – aggsol