C++についてはわかりません。 GDBで+ =を文字列で使用するとエラーが発生する
load(string & filename){
string command;
char delimiter = '/';
size_t delimiterPos = filename.rfind(delimiter);
string directory = string(filename.c_str(),delimiterPos);
command = "import path ";
//want to add directory to end of command
string temp = command + "hello!"; // This works
command.append(directory); //This works!
command += directory; //This seg faults!
...
}
ときに私私が取得関数の先頭で "印刷" ファイル名:0x9505f08 @ (定数文字列&):{静的のNPO = 4294967295、 _M_dataplus = {> = {< __gnu_cxx :: .append()が動作し、+ =が正しく動作しないようなファイル名のフォーマットはどうですか? ?!オーバーロードされた関数で奇妙な何か+ = C++で?
g ++バージョン3.4.6
+ =関数の演算子に壊れて、実際にどの行が衝突しているかを確認します。 –
appendと+ =の呼び出しの順序を逆にするとどうなりますか?それとも、一度に1つずつ試していたのですか? –
@harperは+ =で死んで、決して.appendに行きません – Alex