Я пытаюсь включить член шаблона в класс без шаблона. Вот пример:Элементы шаблона в классе
.h
class ncScript {
public:
template<typename T> void RegisterConstant(T value, const char *N);
};
.cpp
template<>
void RegisterConstant<int>(int value, const char * N) {
// Do something.
}
template<>
void RegisterConstant<bool>(bool value, const char * N) {
// Do something.
}
// and so on
Но когда я пытаюсь использовать его как:
_luaCache["myluafile"].RegisterConstant(13, "myvariable");
Я получаю следующее сообщение об ошибке в Xcode (Компилятор LLVM):
Explicit specialization of 'RegisterConstant<int>' after instantiation.
Вам, кажется, не хватает 'ncScript ::' перед вашими специализациями. Либо это, либо разместите свой * настоящий * код. И почему вы не просто перегружаете этот член? – WhozCraig
[См. Вживую] (http://ideone.com/7p1Ovg) – WhozCraig