Я пытаюсь создать класс с членом структуры внутри:инициирование класса в качестве члена структуры
.h файл:
class A
{
public:
struct Result
{
int x;
UGraph G; <------ class definition
};
Result m_tempStructResult;
A:A(void);
void function();
}
.cpp файл
A::A()
{
}
void A::function()
{
UGraph Graph(10); <---- object has to receive a value
...
//manipulations on Graph
...
m_tempStructResult.G = Graph;
}
в ошибка компиляции я получаю:
error C2512: 'A::Result' : no appropriate default constructor available
, поэтому проблема заключается в отсутствии конструктора по умолчанию, поэтому я добавил следующее:
struct Result
{
Result::Result(int graph_size=0) : G(graph_size){
}
int x;
UGraph G;
};
и проблема решена.
Мой вопрос в том, есть ли другой способ инициировать класс UGraph G внутри конструктора класса A? а не внутри его структуры-члена?
спасибо.
'G' не является членом' A' –
проблема в том, что G является членом структуры «Результат» ans «Результат» является членом класса A – user1673206
@OthmanBenchekroun: правильный, 'G' является членом «Результат», я сделал редактирование. Тем не менее, идея должна была стать ясной :-) – davidhigh