gpt4 book ai didi

c++ - 在C代码中添加到头文件时,全局数组没有 'type'

转载 作者:太空狗 更新时间:2023-10-29 23:49:06 25 4
gpt4 key购买 nike

我正在尝试跨多个 cpp 文件使用全局变量。为此,我将该变量添加到一个名为 system.h 的头文件中,并在其中创建了一个变量:

extern int test_variable[];

现在在我的 file1.cpp 中,我包含了 system.h header 并使用以下值初始化变量:

int test_variable[10] = {0,2,4};

file2.cpp 中,我想向数组中添加一个新数字,然后打印出该数组。 system.h 也包含在文件的顶部:

test_variable[4] = 7;

void saveToSD(){
for(int i = 0; i < 10; i++)
{
Serial.print(test_variable[i]);
}

但是,我收到一条错误消息,指出 file2.cpp 中的 test_variable 没有命名类型。既然我已经在头文件中初始化了它的类型并且 file1.cpp 也说明了它的类型,我还缺少什么?

最佳答案

test_variable[4] = 7; 行是一个赋值(更一般地说,是一个可执行的代码行),不是初始化,因此不允许在外部一个函数。

您需要将此值作为初始化的一部分添加到 file1 中,或者将赋值移动到函数中。

关于c++ - 在C代码中添加到头文件时,全局数组没有 'type',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46613612/

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