我一直在尝试强制实例化以下内容:
//A.h
namespace A {
template <typename T>
bool foo (B::C<T>, D);
}
template bool A::foo<int> (B::C<int>, D);
//1.cpp
namespace A {
template <typename T>
bool foo (B::C<T>, D) {
return false;
}
}
// 2.cpp
#include "A.h"
using namespace A;
void foo()
{///
...
B::C<int> Alpha;
foo(Alpha, Beta);
}
我收到的错误消息是:
C2785:不同的返回类型
C4667:未定义与强制实例化匹配的函数模板
这个实例化是否有明显的错误,因为错误消息似乎不相关。