我有这堂课:
class Displayer
{
public:
enum FlagDisplay { NOT_DISPLAY, DISPLAY };
Displayer() {}
~Displayer() {}
Displayer::FlagDisplay bar1() const { return DISPLAY; }
Displayer::FlagDisplay bar2() const { return NOT_DISPLAY; }
void displayImg(const cv::Mat& image, const std::string& name, FlagDisplay flg)
{
if (flg == DISPLAY)
{
cv::imshow(name, image);
cv::waitKey();
}
}
void closeAllWindows() { cv::destroyAllWindows(); }
};
我有另一个类Displayer
成员的类。当我尝试在构造函数中初始化它时,我得到一个error: invalid use of non-static member function
。我没有看到以静态方式(Displayer::
)调用任何函数。因为代码非常大,我还需要搜索什么才能找到问题?
该类的构造函数是:
RunSolution::RunSolution(const cv::BOWImgDescriptorExtractor& bowDEIn, const ConfigFile& configFileIn,
const Auth& authIn, const ClassifierPtr& classifierIn, const Displayer& displayerIn)
: m_bowDE(bowDEIn),
m_configFile(configFileIn),
m_io(m_configFile.getOutputFolder),
m_s3Service(authIn),
m_classifier(classifierIn),
m_detector(cv::FeatureDetector::create(m_configFile.getClassifierDetectorType())),
m_display(displayerIn) {}
// error here ^^