Je ne reçois pas la spécialisation de modèle partiel. Ma classe ressemble à ceci:C++: Spécialisation de modèle partiel
template<typename tVector, int A>
class DaubechiesWavelet : public AbstractWavelet<tVector> { // line 14
public:
static inline const tVector waveletCoeff() {
tVector result(2*A);
tVector sc = scalingCoeff();
for(int i = 0; i < 2*A; ++i) {
result(i) = pow(-1, i) * sc(2*A - 1 - i);
}
return result;
}
static inline const tVector& scalingCoeff();
};
template<typename tVector>
inline const tVector& DaubechiesWavelet<tVector, 1>::scalingCoeff() { // line 30
return tVector({ 1, 1 });
}
Les sorties gcc d'erreur est:
line 30: error: invalid use of incomplete type ‘class numerics::wavelets::DaubechiesWavelet<tVector, 1>’
line 14: error: declaration of ‘class numerics::wavelets::DaubechiesWavelet<tVector, 1>’
J'ai essayé plusieurs solutions, mais aucun travaillé. Quelqu'un a un indice pour moi?
'résultat (i)'? cela ne devrait-il pas être 'result [i]' à la place? – 6502
J'utilise ublas boost, donc là vous pouvez utiliser l'opérateur() – Manuel