我仅使用-g
标志来编译代码。我的代码中有这个确切的表达式:
auto b = some_func(row[0].as<MyType>());
但是当我要检查表达式的一部分时:
(gdb) print row[0].as<MyType>()
Couldn't find method pqxx::field::as<MyType>
我收到此错误。即使我在调试器中运行它,而在同一代码块中,整个表达式也是如此。
(该方法所在的库是C ++ PostgreSQL libpqxx.so) (gdb 8.3)
这不是唯一不起作用的东西。当我这样做时:
(gdb) print my_unordered_map.find(MyType(1))
A syntax error in expression, near `1))'.
或者:
(gdb) print my_unordered_map.find(my_lambda(row[0]))
Invalid data type for function to be called.
(也仅用于my_lambda(row[0])
),即使它是经过编译的。