编译C ++场景时出错

时间:2016-05-19 10:37:35

标签: c++

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

-error C2228:' .FolioID'必须有class / struct / union -error C2227:左边的' - > IsLoaded'必须指向class / struct / union / generic类型 -error C2227:左边的' - >加载'必须指向class / struct / union / generic类型 -error C2227:左边的' - >计算'必须指向class / struct / union / generic类型 -error C2227:左边的' - > GetUnderlyingCount'必须指向class / struct / union / generic类型

这是我使用的代码:

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();

你能给我一些提示吗?

1 个答案:

答案 0 :(得分:1)

那么,

sResult[f].FolioID

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

投资组合也是如此。

只有结构和类才有成员。

我想你真正想要做的是这样的事情:

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

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