Ошибка компилятора C2479
"identifier" : "allocate( )" действителен только для элементов данных статической экстентности
Синтаксис __declspec( allocate())
можно использовать только для статических данных.
Следующий пример приводит к возникновению ошибки C2479:
// C2479.cpp
// compile with: /c
#pragma section("mycode", read)
static __declspec(allocate("mycode")) void DoNothing() {} // C2479
__declspec(allocate("mycode")) int i = 0; // OK