相关疑难解决方法(0)

我什么时候可以使用前瞻性声明?

我正在寻找允许在另一个类的头文件中进行类的前向声明的定义:

我是否允许为基类,作为成员持有的类,通过引用传递给成员函数的类等执行此操作?

c++ c++-faq forward-declaration

588
推荐指数
7
解决办法
23万
查看次数

C++:将this指针传递给另一个类

我是C++的新手,但我确实有一些Java经验.编码时,我偶然发现了一个让我感到困惑的错误.这是我的代码(简化,但错误是相同的):

啊:

#pragma once
#include "B.h"
class A
{
public:
    A();
    void foo();
    void sayHello();
    B b;
 };
Run Code Online (Sandbox Code Playgroud)

A.cpp:

#include "A.h"
#include <iostream>    
A::A() {}
void A::foo() {
    b.bar(this);
}
void A::sayHello() {
    std::cout << "Hello" << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

BH:

#pragma once
#include "A.h"
class B
{
public:
    B();
    void bar(A *a);
};
Run Code Online (Sandbox Code Playgroud)

B.cpp:

#include "B.h"
B::B(){}
void B::bar(A *a) {
    a->sayHello();
}
Run Code Online (Sandbox Code Playgroud)

我想了一个指针传递一个对象到酒吧在功能上,这样我就可以修改并访问一个在的领域.奇怪的是,当我通过另一个类的A实例调用foo时,我得到了这些错误:

1>------ Build …
Run Code Online (Sandbox Code Playgroud)

c++ pointers this member parameter-passing

5
推荐指数
1
解决办法
1761
查看次数