Почему не работает следующий код?
template<typename T> class A
{
public :
T t;
};
template<typename T> class B : public A<T>
{
public :
T f() { return t; }
};
Выдаёт ошибку
In member function 'T B<T>::f()':
error: 't' was not declared in this scope
T f() { return t; }
^
P.S. Компилятор GCC 6.3.0.
Это связано с поиском имен в шаблонных классах. Используйте квалифицированное имя или указатель this. Например,
template<typename T> class B : public A<T>
{
public :
T f() { return A<T>::t; }
};
Или
template<typename T> class B : public A<T>
{
public :
T f() { return this->t; }
};
Подскажите пожалуйста как пользоваться QJsonDocumentЯ cделал запрос на сервер
Привет всемЕсть строка с аргументами к примеру "Привет, меня зовут %1, мне %2 лет
"Использование оператора delete на указателе на объект, который не был создан при помощи оператора new, создает непрогнозируемый результат" (сайт...