Переменные constexpr и константные выражения

Задания раздела 2.4.4 
2.32. Допустим ли следующий код? Если нет, то как его исправить?
int null=0, *p=null;

Константное выражение - это выражение, которое вычисляется во время компиляции и не может измениться.
Литерал - это константное выражение.
Константый объект, инициализируемый константным выражением (литералом например) является константным выражением.
const int i=1024; // константное выражение
const int p=i+1; // константное выражение
Неконстантый объект не может быть константным выражением. Например:
int i=1024; // хоть 1024 и литерал, но i - не константа
Читать далее «Переменные constexpr и константные выражения»