Unfortunately, you cannot do this in standard C ++, because vals[2] not a constant expression! In the following standard, you would have constexpr (implemented in g ++ 4.6) to easily request compilation:
#include<iostream> using namespace std; constexpr int vals[] = {0, 1, 2, 3, 4}; int newArray[ vals[2] ]; // vals[2] is a constant expression now! int main(){ return vals[2]; }
Arak
source share