A more current version of gcc (4.8.1), treats this as a warning:
trash9.cpp: In function 'int main(int, const char**)':
trash9.cpp:11:14: warning: narrowing conversion of '7.2000000000000002e+0' from
'double' to 'int' inside { } [-Wnarrowing]
int i2 {7.2};
The standard requires that the compiler issue a "diagnostic", so (with the right documentation) this undoubtedly qualifies. The compiler is free to continue compiling the code afterwards.
VC++ does closer to what you apparently want:
trash9.cpp(11) : error C2397: conversion from 'double' to 'int' requires a narro
wing conversion