首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误,"include/Trading_GenericTemplate.h:37: error: expected构造函数、析构函数或â=â标记前的类型转换“

错误,"include/Trading_GenericTemplate.h:37: error: expected构造函数、析构函数或â=â标记前的类型转换“
EN

Stack Overflow用户
提问于 2020-08-29 15:30:27
回答 1查看 18关注 0票数 1

我有一个奇怪的问题,我在我的项目中实现了运行时多态性,这是一个交易项目(服务器),在这里我得到了一个实例初始化的错误,我尽了最大的努力,但没有得到任何解决方案。这是显示编译错误的代码,它是"include/Trading_GenericTemplate.h:37: error: expected constructor, destructor, or type conversion before â=â token

代码语言:javascript
复制
#ifndef STRAT_TRADING_TEMPLATE_H
#define STRAT_TRADING_TEMPLATE_H
class STRAT_TEMPLATE
{
    public :
     STRAT_TEMPLATE()
     {}
    virtual int EntrySignal(int instMapI, float *param)
    {}
    virtual int EntryPricer(int instMapI, float *param)
    {}
    virtual bool ExitSignal(int instMapI, float *param)
    {}
    virtual int ExitPricer(int instMapI, float *param)
    {}
    virtual void Init(int instMapI)
    {}
    
};
class B :public STRAT_TEMPLATE
{
    public :
    B()
    {}
    int EntrySignal(int instMapI, float *param)
    {}
    int EntryPricer(int instMapI, float *param)
    {}
    bool ExitSignal(int instMapI, float *param)
    {}
    int ExitPricer(int instMapI, float *param)
    {}
    void Init(int instMapI)
    {}
};
STRAT_TEMPLATE* startTrading[20];
startTrading[0] = new B();
#endif

让我简单地描述一下我到底想做什么,我需要20个基类的实例,然后每个实例都需要由它的不同子类对象初始化,这些对象将在其他头文件中定义。但是在初始化它的第一个子类对象后,我得到了这个错误。我已经实现了这个链接https://www.geeksforgeeks.org/virtual-functions-and-runtime-polymorphism-in-c-set-1-introduction/代码,在同一台机器上的一个简单的cpp程序中得到了完美的执行。所以请帮助我们解决问题和解决方案。提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-29 15:42:56

赋值语句startTrading[0] = new B();只能在函数体中使用,不允许在全局范围内使用。

你可以这样做

代码语言:javascript
复制
STRAT_TEMPLATE* startTrading[20] = { new B() };
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63644552

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档