gpt4 book ai didi

C++ const 难题

转载 作者:行者123 更新时间:2023-11-28 03:28:50 27 4
gpt4 key购买 nike

我在 3 个文件中有以下代码:

Defines.h

#ifndef Defines_h
extern const unsigned int SIZE;

#endif

Defines.cpp

#include "Defines.h"

const unsigned int SIZE = 10;

Main.cpp

#include "Defines.h"

int main()
{
int x[SIZE] = {0};
}

在编译时我在数组定义行得到错误:

error C2057: 预期的常量表达式和C2466: 无法分配常量大小为 0 的数组

为什么会发生这种情况,毕竟我的 SIZE 确实是一个常数?

最佳答案

const unsigned int SIZE = 10; 移动到标题中并删除外部行。使用简单的 const int 值,直接在 header 中声明它是安全无害的。

关于C++ const 难题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13152133/

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