gpt4 book ai didi

c++ - 头文件中的静态数组 - C++

转载 作者:行者123 更新时间:2023-11-30 02:58:42 25 4
gpt4 key购买 nike

如何在我的头文件中创建一个静态数组?我在 stackoverflow 上查看了一些示例,但无法让它们工作。

谢谢!

#ifndef DRUMKITLIBRARY_H_
#define DRUMKITLIBRARY_H_


class DrumKitLibrary
{
public:
static const char* const list[] = {"zip", "zam", "bam"};
};

#endif /* DRUMKITLIBRARY_H_ */

最佳答案

您的编译器错误发生是因为这不是您初始化静态数据的方式(好吧,静态常量整数类型可以用这种方式初始化,但仅此而已)。您只在类定义中声明您的静态数据,您在类之外定义它。但是,您仍然有一个可能的问题。

在头文件中定义静态数据的问题在于,包含该头文件的每个文件都有自己的数组拷贝。您最好在 header 中声明并在实现文件中定义它。

// A.h
class A {
public:
static const char *f[];
};

// A.cpp
#include "A.h"

const char *A::f[] = { "one", "two" };

关于c++ - 头文件中的静态数组 - C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13544213/

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