9

c++:

int main() 
    { 
    string a = "a"; 
    ... ... 
    }

gdbでデバッグするとき:

(gdb) set var a = "ok"
無効なキャスト

プログラムを実行し、文字列 a が初期化された後、ブレーク ポイントで一時停止します。その値を設定しようとしていますが、無効なキャストについて不平を言っています。これの適切な構文は何ですか?

4

1 に答える 1

18

あなたはこれを行うことができます:

call a.assign("ok")

このように、gdb は関数を呼び出す必要があることをすぐに認識し ( を使用しようとしたものではなく)、operator=呼び出す関数 ( std::string::assign) を認識し、型を変換する必要はまったくありません (assignどのオーバーロードがあるため)。完全に一致します)。

于 2009-11-23T00:43:39.777 に答える