【问题标题】:C++ template classC++模板类
【发布时间】:2010-10-30 18:12:21
【问题描述】:
    #ifndef ECORE_H
    #include "../database.h"
    #define ECORE_H
    Database *base_provider;  // ecore.h: error: expected initializer before ‘*’ token

    template <class S, class T>

            class ecore { // error: expected class-name before ‘{’ token


    public:

        ~ecore(void){delete base_provider;};
        ecore(void){base_provider = new Database();};
    };
#endif // ECORE_H

<...>

为什么我在这段代码中有任何错误?

【问题讨论】:

  • 为什么没有提供具体的错误代码?

标签: c++ class templates


【解决方案1】:

您必须在database.h 中的类声明之后添加;

【讨论】:

  • clang 在这种情况下提供了更好的诊断。
【解决方案2】:

可能 database.h 包含“不平衡”括号或缺少分号。经典中缺少类声明中所需的尾随分号。

【讨论】:

    猜你喜欢
    • 2011-07-14
    • 1970-01-01
    • 2010-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    相关资源
    最近更新 更多