const QPointF points[] =
{
QPointF(r.left() - i, r.top() - i),
QPointF(r.right() + i, r.top() - i),
QPointF(r.right() + i, r.bottom() + i),
QPointF(r.left() - i, r.bottom() + i),
points[0] // is this line valid (according to the C++ standard)?
};
Si bien esto se compila con el compilador de MS Visual Studio, no estoy seguro de si este es un código válido de acuerdo con el estándar de C++.inicialización de matriz, está haciendo referencia a un elemento anterior ¿está bien?
Las cotizaciones de la Norma serían muy apreciadas.
'g ++ -pedantic' no se queja. – kennytm
... aunque no se queja de 'const int x = x;' tampoco. – kennytm
Creo que es correcto (puntos [0] se refiere a un objeto válido en ese momento), pero no estoy seguro. La gramática revisa, obviamente, y hojeando Stroustroup solo dice "Una matriz se puede inicializar con una lista de valores. Puntos [0] es un valor, por lo que parece correcto. – rtpg