У меня есть класс B, который создает объект класса A и вызывает метод объекта.
a.h
#ifndef A_H
#define A_H
class A
{
public:
A(int);
void function();
};
#endif // A_H
а.cpp
#include "a.h"
A::A(int x)
{
}
void A::function(){
//Do something.
}
b.h
#ifndef B_H
#define B_H
#include <QVector>
#include <a.h>
class B
{
public:
B(int);
QVector<A> list;
};
#endif // B_H
b.cpp
#include "b.h"
B::B(int y)
{
list.append(A(y));
list[0].function();
}
Проблема в том, что это не компилируется. Он возвращает «нет подходящей функции для вызова« A: A() »». Я знаю, что это можно решить с помощью предварительного объявления, но здесь это не работает, так как я хочу вызвать функцию «функция». Я также не хочу включать весь класс A в класс B.
A
не имеет конструктора по умолчанию, но вы пытаетесь его вызвать - person 463035818_is_not_a_number   schedule 14.01.2019