6
可能重複:
Programmatically create static arrays at compile time in C++初始化在編譯時常量數組基於模板的長度
是否有可能在初始化編譯時下面的數組?
template<int n> void
foo()
{
static int pairs[2*n]; // = {0,0, 1,1, ..., n-1,n-1}
for (int i = 0; i < n; i++)
{
pairs[2*i] = pairs[2*i+1] = i;
}
do_something_with_pairs(pairs);
}
(我用鐺上的Xcode 4.5所以C++ 11 OK)
循環使用超出數組末尾的索引=> **未定義的行爲**。 –
對不起,我現在修復了。 –
我想知道有多少人把他們的工作放在一邊,並努力解決這個問題。這個問題問得好。但我放棄了。 – 2012-11-29 11:50:11