gpt4 book ai didi

c++ - 我试图在我的 C++ 类中声明一个常量字符串,但我得到一个 "Invalid in-class assignment",我不明白为什么

转载 作者:太空狗 更新时间:2023-10-29 23:31:20 26 4
gpt4 key购买 nike

代码如下:

#include <string>

class Config {
public:
static const std::string asdf = "hello world!";
}

我无法诊断为什么这行不通

最佳答案

类中只能初始化整数类型(假设它们被声明为static const)。

那么这样做:

//Config.h
class Config
{
public:
static const std::string asdf; //declaration
static const int demo_integral = 100; //initialization is allowed!
}

//Config.cpp
const std::string Config::asdf = "hello world!"; //definition & initialization
const int Config::demo_integral; //already initialized in the class!

定义应该在.cpp 文件中,否则如果您在头文件本身中定义它们然后将头文件包含在多个文件中,您将得到多个定义错误!

关于c++ - 我试图在我的 C++ 类中声明一个常量字符串,但我得到一个 "Invalid in-class assignment",我不明白为什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6014927/

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