Код: Выделить всё
/// common.h
static int sgi = 0;
extern int egi;
/// main.cpp
#include "common.h"
int egi = 0;
extern int eg_i = 0;
void test(){
++sgi;
+++egi
++egi;
}
int main(){
test();
test();
test();
}
Но Visual Studio 2017 не показывает ошибок, и значение «eg_i» увеличивается при каждом вызове «теста».
Это «неопределенное поведение» или я что-то упускаю здесь?
Подробнее здесь: https://stackoverflow.com/questions/735 ... -but-there