Поделиться через


Предупреждение компилятора (уровень 3) C4161

#pragma pragma(pop...) : больше всплывающих, чем толкает

Замечания

Так как число извлечений из стека превышает число занесений для директивы pragma, стек может работать непредвиденным образом. Чтобы избежать этого предупреждения, убедитесь, что число извлечений из стека не превышает число занесений.

Пример

При компиляции следующего примера будет выдано предупреждение C4161:

// C4161.cpp
// compile with: /W3 /LD
#pragma pack(push, id)
#pragma pack(pop, id)
#pragma pack(pop, id)   // C4161, an extra pop

#pragma bss_seg(".my_data1")
int j;

#pragma bss_seg(push, stack1, ".my_data2")
int l;

#pragma bss_seg(pop, stack1)
int m;

#pragma bss_seg(pop, stack1)   // C4161