gpt4 book ai didi

c++ - 全局变量作为默认参数

转载 作者:行者123 更新时间:2023-12-01 14:55:11 25 4
gpt4 key购买 nike

//header.h
void foo(int a = some_global_variable);

//file1.cpp
int some_global_variable = 2;
void foo(int a){}

//file2.cpp
#include "header.h"
foo();

我在编译 some_global_variable 未声明的标识符 (header.h) 时遇到错误,
这是有道理的,因为 some_global_variablefile1.cpp 中定义.有没有办法做到这一点?

编辑:我试过 extern some_global_variableheader.h .编译器没有提示。这是正确的方法吗?

最佳答案

编译器需要知道 some_global_variable 的存在(但 而不是 的值)在遇到它作为默认参数时。

为此,使用 extern会工作。然后它的定义可以驻留在不同的编译单元中。

关于c++ - 全局变量作为默认参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47750424/

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