Если вы хотите инициализировать статическую переменную на n
во время первого вызова функции, вы можете сделать это следующим образом:
void function(int n)
{
static int initialized = 0;
static int number;
if (!initialized) {
number = n;
initialized = 1;
}
.
.
.
}
Вы не можете инициализировать number
в n
непосредственно, поскольку number
инициализируется во время компиляции, тогда как n
известен только во время выполнения.