C++ 不完整的类类型指针

标签 c++ class pointers

在源文件中我有 2 个类定义

class Foo
{
public:
    int * GetPtr(){
        return Obj;
    }

    int * Obj;
}

class Bar
{
public:
    ...

    std::vector<Foo> FooVector;
}

在同一个源文件中我有这个函数

void DoSomething()
{
    Bar* barVar = CreateBar(); // Returns pointer to class object
    Foo* fooVar = &barVar->FooVector[0]; 

    if (fooVar->GetPtr()) // Error here
        ...
}

尝试编译它时,我收到错误“不允许指向不完整类类型的指针”,但该类是在其上方几行定义的。

最佳答案

我已经通过正确实现这些类解决了这个问题。

关于C++ 不完整的类类型指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38712571/

相关文章:

c++ - mdspan 和严格的别名规则

java - 如何将对象的类型传递给类?

c++ - 为什么数组中的指针不存储在连续的内存中

c - 如何在C程序中指向结构体?

c - C 中的参数值不可变?

c++ - C++ 中意外的 long long 值

c++ - 无法解析类型错误

c++ - 如何在 C++ 中获取具有给定位模式(如 int32_t)的 float ?

C++:另一个类中的类作为类型?

c++ - 为什么LNK1120 & LNK2019在模板和友元函数的情况下出现