c++ - 初始化堆分配对象时出错

标签 c++ object initialization

我正在尝试按如下方式初始化堆分配对象:

class Ball {
  int radius;
  string colour;
};

int main(){
    Ball *b = new Ball { radius = 5, colour = "red" };
}

想知道为什么这会给我一个错误? 谢谢

最佳答案

这不是在 C++ 中初始化对象的方式。

这是一种方法:

class Ball {
    int radius;
    string colour;

public:

    //  Define a Constructor
    Ball(int _radius, const string &_colour)
        : radius(_radius)
        , colour(_colour)
    {
    }
};

int main(){
    Ball *b = new Ball(5, "red");

    delete b;  //  Don't forget to free it.
}

关于c++ - 初始化堆分配对象时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8103088/

相关文章:

c++ - 初始化依赖于另一个类成员的类成员

c++ - 如何与 SQL Server 2008 建立稳定连接并使用 C++ 编写我的第一个 CRUD 操作

c++ - 模板化类内部函数的模板特化

c++ - 其他语言中最接近 Apache Hadoop 的是什么?

javascript - 如何对对象数组进行排序

c++ - 我应该如何初始化并正确使用 `struct` ?

c++ - 分配给ostream后如何关闭ofstream?

javascript - 如何使用变量引用对象

javascript - 未捕获的类型错误 : Object `function()` has no method 'call' ?

c - 为什么 Valgrind 提示的是 printf 而不是我未初始化的计数器?