gpt4 book ai didi

c++ - 如何在我的头文件中声明一个常量对

转载 作者:行者123 更新时间:2023-11-28 07:59:34 25 4
gpt4 key购买 nike

#include <utility>
class C {
private:
const std::pair<int,int> corner1(1,1);
};

GCC 报告错误:在数字常量之前需要标识符。

我需要在它声明的那一刻构造对象,因为它是常量,但我似乎无法获得正确的语法。

最佳答案

I need to construct the object on the moment of it's declaration since it's const, but I can't seem it get the right syntax.

不可以,您只能在构造函数初始化列表中初始化非整型类型 - const 或非常量(至少在 C++11 之前):

class C {
private:
const std::pair<int,int> corner1;
C() : corner1(1,1) {}
};

但在我看来你不需要在每个实例中都复制成员,所以我只是让它成为静态的:

class C {
private:
static const std::pair<int,int> corner1;
};

//implementation file:
const std::pair<int,int> C::corner1(1,1);

关于c++ - 如何在我的头文件中声明一个常量对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11857288/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com