2008/02/13

Linux/gcc と VC の template ・・

 
gcc4.0 と VCでは template構文 の解釈がけっこう違いますね( ´д`)
 
今、新自作ライブラリを Windows/Linux とあわせて作成してるのですが、どーも一部の
template がエラーになってしまうのです。
 
 
具体的にはこーいう感じ。
 
 



 
template <typename Result>
class DelegateManager : public I_Function{
public:
     int val;
};

 
template <typename Result, typename type>
class DelegateR0 : public DelegateManager<Result>{
public:
     virtual void  run(){
            // 親クラスのメソッド/変数にアクセスできない・・(´・ω・‘)
     }
};










 
 
gcc 上ではクラスを継承するときに、テンプレートクラスを継承すると、親クラスには
アクセスできない様子。
 
まぁアクセス出来ないというより "コンパイルが通らない" って方か。
 
 
これは別の手段を用いて解決したのですが、C++言語同士でもコンパイラ間の移植の難しさを
改めて思いしりました(´・ω・‘)

0 件のコメント:

コメントを投稿