0
template <typename T>
class A {
    class B {
        typedef int INT;
        INT func(double e) {
            return INT(e * 3.6);
        }
    };
};

func私の問題は、クラス宣言から関数の定義を削除することです。これは私のプログラムの単純化されたケースです。コンパイラは typedef について不平を言います。

これが私の試みです:

template <typename T>
A<T>::B::INT A<T>::B::func(double e) {
    return INT(e * 3.6);
}

コンパイルエラーは main.cpp:14: error: expected constructor, destructor, or type conversion before "A".

4

1 に答える 1