E5013 значение типа A::B* нельзя присвоить сущности типа B*
Изучаю плюсы, сейчас разбираюсь с классами. Имеется вложенный, в класс A
, класс B
. Указатель типа B
объявляется в приват поле класса A
и в конструкторе класса A
инициализируется. Компилятор выдает такую ошибку.
E5013 значение типа A::B* нельзя присвоить сущности типа B*.
A.h
#pragma once
class B;
class A
{
public:
A();
private:
B* pt_b;
class B
{
public:
B(int s) :
a(s)
{}
B();
void set_a(int e) { a = e; };
private:
int a, b, c;
};
};
A.cpp
#include "A.h"
A::A()
{
pt_b = new B(5);
this->pt_b.set_a(1);
}
Источник: Stack Overflow на русском