我收到以下错误:



对于以下代码:

BOOL CVisuComm::OnOpenDoc()
{
    CDocument myCDoc;  //LINE AT WHICH THE ERROR OCCURS
    CInterfaceDoc myCInterfaceDoc;

    char tabchar[80]="c:/test111.dat";
    CString myFilename;
    myFilename="c:/test111.dat";

    /*if(!myCDoc.OnOpenDocument(tabchar))
    {
        MessageBox("Erreur à l'ouverture..","OnOpenDocument",MB_OK);
        return false;
    }
    else
    {
        MessageBox("Ouverture OK..","OnOpenDocument",MB_OK);
    }*/

    myCInterfaceDoc.OnOpenDocument("c:/test111.dat");
    return true;
}

任何帮助表示赞赏。

最佳答案


编译器会告诉您确切的信息。您不应该创建CDocument的具体实例-实际上,您不能像刚刚看到的那样创建。而是to quote the MSDN:

您可能会问为什么。答案实际上也在MSDN上,尽管以一种回旋的方式出现:

当调用周围的应用程序代码的save方法时,可以针对CDocument*接口(interface)而不是具体的类编写它们。这使他们可以对每种类型的文档执行完全相同的操作-即,调用serialize方法。

08-17 04:20