当我使用常量nVar
而不是数字时,出现以下错误。
constants.h:
extern const unsigned int nVar;
constants.cpp:
#include "constants.h"
const unsigned int nVar = 5;
main.cpp
#pragma once
#include "constants.h"
void foo(const double q[nVar])
{
// ...
}
编译器:
数组常量不是']'标记之前的整数常量
预期在','标记之前的')'
预期的'const'之前的unqualified-id
最佳答案
我认为这是因为编译器应该在编译时就知道数组的大小,但是在您的示例中,由于extern,nVar的值仅在链接时才知道
关于c++ - 用常数初始化数组不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16866267/