Ошибка в иерархии классов 2

233
18 марта 2018, 21:33

Переделал вопрос Ошибка в иерархии классов

struct A {
    void foo() {}
};
template<typename q>
struct Base {
    explicit Base(A a) : a(a) {}
    A a;
};
template<typename q>
struct Derived : Base<q> {
    Derived() : Base<q>(A()) {
        a.foo(); // не работает
    }
};
int main() {
    new Derived<int>();
}
Answer 1

Если базовый класс является зависимым шаблонным типом, то поиск неквалифицированных имен в таком базовом классе не производится. К именам из такого базового класса следует обращаться либо по квалифицированному имени (Base<q>::a.foo()), либо через явный this (this->a.foo()).

READ ALSO
Чтение данных из файла в динамический массив структур - C++

Чтение данных из файла в динамический массив структур - C++

Подскажите пожалуйста, как можно осуществить чтение данных из файла в динамический массив структур?

343
use &#39;&amp;&#39; to create a pointer to member

use '&' to create a pointer to member

Error C3867 'Class::pervaia': non-standard syntax; use '&' to create a pointer to member Не могу понять место, куда я должна поставить & Я понимаю ,что в строчке

203
Как подать напряжение к pin&#39;у другой Arduino?

Как подать напряжение к pin'у другой Arduino?

Есть две Arduino Mega 2560, соединенные между собой через TX и RXКо второй Arduino нет доступа по USB, только через первую Arduino

200