私は現在、非常に基本的なシェルとして機能するクラスの割り当てを作成しています。私はほぼ完成していexecvp
ますが、パラメーターの文字配列で問題が発生しています。これが私のコードの軽いスニペットです。
//Split the left content args
istringstream iss(left);
while(getline(iss, s, ' ')){
v.push_back(s);
}
//Get the split string and put it into array
const char* cmd_left[v.size()+1];
for(unsigned int i = 0; i < v.size(); i++){
cmd_left[i] = v.at(i).c_str();
}
cmd_left[v.size()] = 0;
v.clear();
そして、これはによって利用されています...
execvp(cmd_left[0], cmd_left);
私のエラーは
assign3.cxx:96:34: error: invalid conversion from ‘const char**’ to ‘char* const*’ [-fpermissive]
問題は、文字配列が定数データでいっぱいではないことであることを理解しているので、基本的に からconst char*
に移動する必要がありconst char* const
ます。について何かを読みましたがconst_cast
、それが私がしなければならないことかどうかわかりませんでした。
よろしければ、私の文字配列の配列がその関数で適切に受け入れられるように手伝っていただけませんか? 私のコードをもっと投稿する必要がある場合は、お知らせください。
ありがとう