C++ QT-第三方回拨不回拨?

C++ QT-第三方回拨不回拨?,c++,qt,stdcall,C++,Qt,Stdcall,我已经为我正在使用的第三方库创建了一个测试应用程序,它可以很好地编译,但似乎从来没有遇到过写过的问题 从示例代码看,它类似于此函数 if(cmcd->BuildISOImage(isoName, &CMCDBurner::WriteDone, NULL) == TRUE) { qDebug() << "inside build iso"; } if(cmcd->BuildISOImage(isoName,&CMCDBurner:

我已经为我正在使用的第三方库创建了一个测试应用程序,它可以很好地编译,但似乎从来没有遇到过写过的问题

从示例代码看,它类似于此函数

    if(cmcd->BuildISOImage(isoName, &CMCDBurner::WriteDone, NULL) == TRUE)
    {
        qDebug() << "inside build iso";
    }
if(cmcd->BuildISOImage(isoName,&CMCDBurner::WriteDone,NULL)==TRUE)
{
qDebug()插入文件(cdDestination,“C:\\DLS\\interview\\Test_001\\20130515-87701\\interview.xml”);
int c=cmcd->Prepare();
int b=cmcd->getfilescont();
if(cmcd->BuildISOImage(isoName,&CMCDBurner::WriteDone,NULL)==TRUE)
{

qDebug()我刚刚意识到您尝试为类
CMDCDBurner
定义WriteDone函数。 尝试将函数移到main方法前面,并省略
CMDCDBurner::

void __stdcall WriteDone(int DeviceId, bool Failed, void *arg)
{
    qDebug() << "inside write done.";
}
void\u stdcall WriteDone(int DeviceId,bool失败,void*arg)
{

qDebug()谢谢,当我尝试它时,它产生了错误:C2761:“void CMCDBurner::WriteDone(int,bool,void*)”:成员函数重新声明不允许它不起作用,但我联系了供应商,他们正在调查,这似乎源于他们与VS2010编译器的兼容性,因为上面的代码在2008年起作用,我感谢您的帮助!
#include <QCoreApplication>
#include "Windows.h"
#include "MCDBcls.h"
#
#include <QDebug>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    char* cdDestination = "\\";
    char* isoName = "C:\\LinearSystems\\AVCommand\\ISO\\aviso.iso";

    CMCDBurner* cmcd = new CMCDBurner();

    cmcd->ClearAll();

    cmcd->InsertFile(cdDestination, "C:\\DLS\\Interviews\\Test_001\\20130515-87701\\interview.xml" );
    int c = cmcd->Prepare();
    int b = cmcd->GetFilesCount();

    if(cmcd->BuildISOImage(isoName, &CMCDBurner::WriteDone, NULL) == TRUE)
    {
        qDebug() << "inside build iso";
    }

    return a.exec();
}


void __stdcall CMCDBurner::WriteDone(int DeviceId, bool Failed, void *arg)
{
    qDebug() << "inside write done.";
}
void __stdcall WriteDone(int DeviceId, bool Failed, void *arg)
{
    qDebug() << "inside write done.";
}