Hi,
I am getting compiler errors with the following setup:
template<size_t N, enum one, enum two, enum three>
class Myclass {
double fun();
};
template<size_t N, enum one, enum two, enum three>
double MyClass<N, one, two, three>::fun() { return 0.0;}
The above compiles fine, but as soon as I want to partially specialize
my member function with:
template<size_t N, enum two, enum three>
double MyClass<N, someenum, two, three>::fun() { return 1.0; }
I get:
/home/paultschi/workspace/abcalibration/src/model.cpp:32: error: no
`double abcalibration:: Model<N, EDV, forVola, fxVola>::onePer Alpha()'
member function declared in class `abcalibration: :Model<N, EDV, forVola,
fxVola>'
/home/paultschi/workspace/abcalibration/src/model.cpp:32: error:
template definition of non-template `double abcalibration:: Model<N, EDV,
forVola, fxVola>::onePer Alpha()'
(replace above names with Myclass and fun)
I am grateful for any hints on how to do this.
Cheers,
Paul
I am getting compiler errors with the following setup:
template<size_t N, enum one, enum two, enum three>
class Myclass {
double fun();
};
template<size_t N, enum one, enum two, enum three>
double MyClass<N, one, two, three>::fun() { return 0.0;}
The above compiles fine, but as soon as I want to partially specialize
my member function with:
template<size_t N, enum two, enum three>
double MyClass<N, someenum, two, three>::fun() { return 1.0; }
I get:
/home/paultschi/workspace/abcalibration/src/model.cpp:32: error: no
`double abcalibration:: Model<N, EDV, forVola, fxVola>::onePer Alpha()'
member function declared in class `abcalibration: :Model<N, EDV, forVola,
fxVola>'
/home/paultschi/workspace/abcalibration/src/model.cpp:32: error:
template definition of non-template `double abcalibration:: Model<N, EDV,
forVola, fxVola>::onePer Alpha()'
(replace above names with Myclass and fun)
I am grateful for any hints on how to do this.
Cheers,
Paul
Comment