求助各位大神:VS2010 error C3416:显式专用化可能无法显式实例化
//MatrixBase.h
template<class Real>
class MatrixBase {
...
template<typename OtherReal>
void CopyFromSp(const SpMatrix<OtherReal> &M);
...
}
///////////////////////////////////////////////////////////////////////
//MatrixBase.cpp
template<typename Real>
template<typename OtherReal>
void MatrixBase<Real>::CopyFromSp(const SpMatrix<OtherReal> & M) {...}
template
void MatrixBase<float>::CopyFromSp(const SpMatrix<float> & M);
template
void MatrixBase<float>::CopyFromSp(const SpMatrix<double> & M);
template
void MatrixBase<double>::CopyFromSp(const SpMatrix<float> & M);
template
void MatrixBase<double>::CopyFromSp(const SpMatrix<double> & M);
//////////////////////////////////////////////////////////////////////
编译后,描红的两行报错:
error C3416: “kaldi::MatrixBase<Real>::CopyFromSp”: 显式专用化可能无法显式实例化
with
[
Real=float
]
error C3416: “kaldi::MatrixBase<Real>::CopyFromSp”: 显式专用化可能无法显式实例化
with
[
Real=double
]
不知道为什么出错,请各位大神指教! Visual?Studio?2010 C++ 模板实例化 error?C3416
[解决办法]
你写这一坨想干嘛?
[解决办法]
那你可能不得不改用此工具包当初使用的编译器了
模板的可移植性是很差的。
[解决办法]