0
我有沒有用在編譯的任何知識 國旗一些可執行建造它(優化,調試信息等)訪問向量的向量在gdb
它裏面,我有所謂的輸入變量的函數值 (通過引用傳遞):
void F(std::vector<std::vector<unsigned char> > &values) { // ... }
我使用gdb來打印值安慰:
(gdb) print values
而且我得到這個:
$15 = std::vector of length 1, capacity 1 = {std::vector of length 4, capacity 4 = {0 '\000', 0 '\000', 50 '2', 0 '\000'}}
也就是說,大小爲1的矢量,拿着大小4.
的矢量當我試着使用gdb來訪問內部尺寸4載體:
(gdb) print values[0]
我得到這個:
Could not find operator[].
^h H但是,當我編譯和調試一個簡單的 「你好載體世界的載體」,與沒有優化,並-ggdb標誌:
(gdb) print values
我得到這個:
$2 = std::vector of length 1, capacity 1 = {std::vector of length 3, capacity 3 = {48 '0', 49 '1', 50 '2'}}
當我嘗試訪問內部向量:
(gdb) print values[0]
一切正常:
$3 = std::vector of length 3, capacity 3 = {48 '0', 49 '1', 50 '2'}
難道這是一個優化問題?調試信息??
任何幫助非常感謝...謝謝!