Eventuali duplicati:
Programmatically create static arrays at compile time in C++inizializzare una matrice const in fase di compilazione con una lunghezza basata su modelli
E 'possibile inizializzare la seguente matrice in fase di compilazione?
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);
}
(io uso Clang su Xcode 4.5 in modo da C++ 11 è OK)
il ciclo utilizza gli indici oltre la fine dell'array => ** Comportamento non definito **. –
Scusa, l'ho risolto ora. –
Mi chiedo quante persone hanno messo da parte il loro lavoro e hanno cercato di risolvere il problema. Questa è un'ottima domanda. Ma mi sto arrendendo. –