У меня проблема. Мой базовый класс "AB C" имеет два класса шаблонов A и B. Мой класс "superAB C" наследует AB C, но второй шаблон является фиксированным для строки. В AB C есть структура с именем "structAB C". В superAB C есть функция, которая возвращает экземпляр из structAB C. Когда я пытаюсь написать реализацию этой функции, компилятор выдает ошибку
C2244 "невозможно сопоставить определение функции с существующим объявлением".
Может кто-нибудь сказать мне, в чем проблема?
//ABC.h
#pragma once
template<class A, class B>
class ABC
{
public:
void func();
struct structABC {
};
structABC _referenceRange;
};
//superABC.h
#pragma once
#include "ABC.h"
#include "string.h"
template<class A>
class superABC:
public ABC<A, string>
{
public:
typename ABC<A, string>::structABC getBCD();
};
//superABC.cpp
#include "superABC.h"
template<class A>
inline typename ABC<A, string>::structABC superABC<A>::getBCD()
{
return ABC<A, string>::structABC();
}