C++ 取字符指针的构造函数
这将是一个基本问题,但希望有人能帮助我 我有这样的功能C++ 取字符指针的构造函数,c++,C++,这将是一个基本问题,但希望有人能帮助我 我有这样的功能 void createInstance() { MyClass m_Class; m_Class(25, "Roger")(32, "Pete")(56, "Haley")(89, "Tom"); } 现在在MyClass中: class MyClass { MyClass(); MyClass(int, const char&); // Gets ERROR here... }; 我想在MyCla
void createInstance()
{
MyClass m_Class;
m_Class(25, "Roger")(32, "Pete")(56, "Haley")(89, "Tom");
}
现在在MyClass中:
class MyClass
{
MyClass();
MyClass(int, const char&); // Gets ERROR here...
};
我想在MyClass中编写一个构造函数,它可以从createInstance函数中获取第2行
我该怎么做呢?像这样:
MyClass(int,const char*) 强制性:你为什么要这样做,你想让它做什么?在使其编译方面,您必须了解它的编写方式,您的对象已经被构造。第二行根本不是构造函数调用,而是调用对象上的运算符(),您还没有定义它。您是想创建多个对象,还是希望能够灵活地将这些int、string对中的多个传递给构建后的对象?如果要执行后一种操作,可以执行以下操作:
class MyClass
{
MyClass();
MyClass& operator()(int x, const char* str) {
// Do stuff with x and str
return *this;
}
};
聪明的是,操作符()返回对对象本身的引用,当然有操作符(),因此您可以再次调用它,它再次返回对对象的引用,依此类推。下面是一个工作示例:.给出错误-错误:调用'(MyClass)(int,const char[4])不匹配;|获取错误-错误:调用'(MyClass)(int,const char[4])不匹配