Ciao a tutti!
Ho cercato nel forum ma non ho trovato risposta, mi scuso nel caso questo sia 3d duplicato:
devo applicare una costexpr per creare una lookup table,
e ho abozzato questo codice:
static float lookup[10];
constexpr static double* initLookUp();
static double getDimension(int n);
constexpr static double* initLookUp(){
for (int i = 0; i < 10; i=i+1){
lookup = 2*i*ceil(log2(i+1));
}
}
static double getDimension(int n){
return lookup[n];
}
int main(){
double d = getDimension(3);
std::cout<<"\n lookup = "<< d <<"\n";
}
Quando però compilo mi esce l'errore:
error: statement not allowed in constexpr function
for (int i = 0; i < 10; i=i+1){
...
Ho provato a capire il problema, il mio errore, ma non sono riuscita a capire
Avete suggerimenti?
Grazie!