2010-10-30 103 views
0
#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++模板類

爲什麼我在這個代碼的任何得到錯誤?

+0

爲什麼沒有供應得到具體的錯誤代碼? – 2010-10-30 18:16:49

回答

4

您必須在database.h的類聲明後添加;

+0

在這種情況下,clang可以提供更好的診斷。 – 2010-10-31 01:48:04

1

也許database.h包含「不平衡」括號或缺少分號。經典的是在類聲明中缺少所需的尾部分號。