8
C++:設置字符串
int main()
{
string a = "a";
... ...
}
當我在gdb調試:
(GDB)組VAR一個= 「OK」
無效投
我跑程序並在字符串a初始化後的暫停點暫停。我試圖設定它的價值,但它抱怨無效投射。這是什麼適當的語法?
C++:設置字符串
int main()
{
string a = "a";
... ...
}
當我在gdb調試:
(GDB)組VAR一個= 「OK」
無效投
我跑程序並在字符串a初始化後的暫停點暫停。我試圖設定它的價值,但它抱怨無效投射。這是什麼適當的語法?
你可以這樣做:
call a.assign("ok")
這樣,GDB就在於它需要調用一個函數知道(而不是你嘗試使用operator=
什麼),它知道什麼函數調用(std::string::assign
)並且它根本不需要轉換類型(因爲assign
的重載完全匹配)。
「設置」字符串是gdb不一定支持的複雜操作。 – bmargulies 2009-11-23 00:20:02
好的... 所以你可以使用gdb設置int變量,但不是字符串?我很困惑,因爲設置字符串似乎沒有比設置整型更復雜,我知道這是有效的: int main() { int b = 9; } (gdb)set var b = 8 //不抱怨 「設置」是我正在嘗試做的正確術語,對吧? – anoda9 2009-11-23 00:38:31
「設置字符串似乎沒有比設置整型更復雜」 - 好吧,它是。 – 2009-11-23 00:39:13