**我也跟着:http://www.qt-coding.com/2013/08/06/tip-of-the-day-redirect-qdebug-to-a-file/qInstallMessageHandler指向外部的lib方法
我創建了一個方法:
MyLogging(QtMsgType type, const QMessageLogContext &context, const QString &msg);
,它位於一個外部LIB(我創建)爲我的主要項目。
當我做到以下幾點:
qInstallMessageHandler(MyLib::MyLogging);
編譯器說,它無法在轉換:
error: C2664: 'QtMessageHandler qInstallMessageHandler(QtMessageHandler)' : cannot convert argument 1 from 'void (__cdecl MyLib::*)(QtMsgType,const QMessageLogContext &,const QString &)' to 'QtMessageHandler
沒有上下文中,這種轉換是可能的」
但是,如果我移動我的MyLogging方法與main.cpp內聯,一切正常。
我在跟蹤爲什麼會出現這種情況。任何幫助理解這一點都會很棒。
啊,好的。 C++缺少一些在C#/ Java中更容易的事情。謝謝@ nazar554 – Arnej65