Я хочу определить постоянный массив констант на каждом узле MPI, используя C ++ 03.M_chunk_sizes
определяет размер матрицы, которая будет передана другим узлам и не будет изменена во время выполнения.
int* define_chunk_sizes( int S, int world) {
int out[world];
double quotient = static_cast<double> (S) / world;
int maj = ceil(quotient);
for (int i =0; i < world - 1; i++)
out[i] = maj;
out[world-1] = maj + (S - maj*world);
return out;
}
int main() {
const int M = 999; // rows
int world_size = 4;
const int* const M_chunk_sizes = define_chunk_sizes(M, world_size);
}
Но я получаю warning: address of stack memory associated with local variable 'out' returned [-Wreturn-stack-address]
return out;
.
Что такоеправильный способ сделать это?