编译C++方案时出错

Errors when compiling a C++ scenario

本文关键字:出错 方案 C++ 编译      更新时间:2023-10-16

我已经创建了一些代码测试,但我无法在没有错误的情况下构建它。当我尝试构建项目时,出现以下错误:

-错误 C2228:左侧的".作品集 ID' 必须具有类/结构/联合-错误 C2227:"->已加载"的左侧必须指向类/结构/联合/泛型类型-错误 C2227:"->Load"的左侧必须指向类/结构/联合/泛型类型-错误 C2227:左侧' ->计算'必须指向类/结构/联合/泛型类型-错误 C2227:左侧' -> GetUnderlyingCount' 必须指向类/结构/联合/泛型类型

这是我使用的代码:

BEGIN_LOG("Run");
    int count;
    int portfolio;
    int *sResult;
    char MyString[1000];
    sprintf_s(MyString,"contrepartie in (select ident from tiers where ident = 10012834)");
    const CSRExtraction *myExtraction=CSRPortfolio::Extraction(MyString);
    ((CSRExtraction *)myExtraction)->Create();
    ((CSRExtraction *)myExtraction)->Load();
    ((CSRExtraction *)myExtraction)->InitialiseFolio();
    for (int f=0; f < count; f++) //folio loop
    {
        portfolio = CSRPortfolio::GetCSRPortfolio(sResult[f].FolioID,myExtraction);
        //portfolio = CSRPortfolio *GetCSRPortfolio -> sResult[] -> FolioID();
        if (portfolio == NULL)
            continue;
        if(!portfolio->IsLoaded())
        {
            portfolio->Load();
            portfolio->Compute();
        }
        int underl = portfolio->GetUnderlyingCount();
    }

    END_LOG();

你能给我一些提示吗?

嗯,

sResult[f].FolioID

sResult 是指向 int 的指针,整数没有成员。因此,您无法访问它。

投资组合也是如此。

只有结构和类才有成员。

我想你真正想做的是这样的:

CSRPortfolio *portfolio = CSRPortfolio::GetCSRPortfolio(sResult[f],myExtraction);

但请注意,在您的示例中,sResult 是完全未初始化的。因此,访问将崩溃。