C++ 用类指针作为参数实例化构造函数

C++ 用类指针作为参数实例化构造函数,c++,C++,a.hpp文件: namespace hello { class A : public hi::B public: A(C* my_hello); private: const C* p_hello; }; hello::A *random = new hello::A(); a.cpp: hello::A::A(C* my_hello) : m_name(0); { } 在b.cpp文件中: namespace hel

a.hpp
文件:

namespace hello  
{  
class A : public hi::B    
public:
    A(C* my_hello);    
private:    
    const C* p_hello; 
};
hello::A *random = new hello::A();
a.cpp

hello::A::A(C* my_hello)    
: m_name(0);    
{  
}
b.cpp
文件中:

namespace hello  
{  
class A : public hi::B    
public:
    A(C* my_hello);    
private:    
    const C* p_hello; 
};
hello::A *random = new hello::A();
//->此行中的错误表示没有构造函数的实例

如何实例化构造函数当.hpp文件中的参数

中有指向类的指针时,您不是为类定义构造函数,而是键入了
hello(…)

此外,由于您定义了构造函数,您的类不再有默认构造函数(即不需要任何参数的构造函数)


在新表达式中调用类的构造函数时,必须提供所有必需的参数。

是,因为只有构造函数接受一个参数-没有无参数constructor@UnholySheep如果我做了像newhello::A(C*)这样的事情,那么它也不起作用。你能告诉我我需要做什么吗?用四个空格缩进以格式化代码,或者选择并点击
{}
按钮。此构造函数有一个强制参数,因此除非你创建一个没有参数的构造函数变量,或者为此构造函数指定一个默认值,如
=nullptr
,否则此代码将无法编译。无效。在参数中添加nullptr有效。谢谢@tadman