【发布时间】:2021-02-12 13:37:10
【问题描述】:
OpenCV的cv::Mat类中有一个名为at的模板成员函数:
//definition of at
template<typename _Tp> inline const _Tp& Mat::at(int i0, int i1) const{
// ...
}
//my codes
cv::Mat eyePts_left;
// ...
if(std::max(eyePts_left.at<float>(0,0),eyePts_left.at<float>(16,0)) > eyePts_left.at<float>(61,0)){
//do something
}
我想打印表达式的值:
eyePts_left.at<float>(0,0)
在 lldb 调试会话中,但它抱怨:
(lldb) p eyePts_left.at<float>(0, 0)
error: warning: warning: got name from symbols: at
error: <user expression 21>:1:13: no member named 'at' in 'cv::Mat'
eyePts_left.at<float>(0, 0)
~~~~~~~~~~~ ^
error: <user expression 21>:1:21: expected '(' for function-style cast or type construction
eyePts_left.at<float>(0, 0)
~~~~~^
那么,检查这个模板相关表达式的值的正确方法是什么?
【问题讨论】:
标签: c++ templates debugging lldb