-
- Вот именно!!! На этапе компиляции это значение неизвестно и, стало быть, не является константой! - Bill(20.10.2013 13:31)
- ну компилятор может вычислить что адреса ссылаются на разные объекты, а линкер заполнит их при линковке - zeleny(21.10.2013 00:20)
- ну и что? - koyodza(20.10.2013 14:30)
- а как поведёт себя программа, если два выражения в case окажутся одинаковыми после линковки? - инженегр(20.10.2013 14:39, )
- Да дело даже не в этом. Компилятор просто не сможет отсортировать значения case. - Bill(20.10.2013 14:45)
- Теоретически компилятор может заниматься "тупым перебором" при невозможности отсортировать на этапе компиляции, но вот предсказуемости от такой программы ждать не следует. - инженегр(20.10.2013 15:58, )
- В том-то и дело, что в соответствии со стандартом все значения case должны быть константами или константными выражениями, вычисляемыми на этапе компиляции. - Bill(20.10.2013 16:09)
- Теоретически компилятор может заниматься "тупым перебором" при невозможности отсортировать на этапе компиляции, но вот предсказуемости от такой программы ждать не следует. - инженегр(20.10.2013 15:58, )
- Да дело даже не в этом. Компилятор просто не сможет отсортировать значения case. - Bill(20.10.2013 14:45)
- Ну а значение case должно быть константой. Поэтому программа и не компилируется. - Bill(20.10.2013 14:34)
- а как поведёт себя программа, если два выражения в case окажутся одинаковыми после линковки? - инженегр(20.10.2013 14:39, )
- Вот именно!!! На этапе компиляции это значение неизвестно и, стало быть, не является константой! - Bill(20.10.2013 13:31)