class *参数显示为<error-type> *

时间:2015-12-24 01:16:02

标签: c++ class pointers

我有这堂课:

#pragma once
#include <thread>
#include "Game.h"

class CPhysics {
    CGame *mGame;
    //[...]

public:
    CPhysics(CGame *game);

    //[...]
};

我将CGame实例传递给CPhysics的构造函数,如下所示:

#include "Game.h"

CGame::CGame() {
    //[...]
    mPhysics = new CPhysics(this);
}

但编译器不知道该怎么做,而是给我<error-type> *game而不是CGame *game。我想传递一个指向CGame实例的指针。如果我删除星号会发送什么?我有点困惑。

The error

编辑:实际错误如下:它不是CPhysics(CGame *game)构造函数,而是要使用CPhysics(CPhysics &&)。但CGame *const不能也不会转换为const CPhysics &。我猜这是由于错误类型。

1 个答案:

答案 0 :(得分:-1)

使用mPhysics = new CPhysics(this);时 你需要为CPhysics定义一个没有任何参数的构造函数,并为Cpysics重新定义一个新的赋值构造函数。