Visual C++ tiene #pragma message
que outputs a string into compiler output. Ahora tengo una fábrica:..¿Cómo obtengo una constante numérica en tiempo de compilación durante la compilación en Visual C++?
template<class Type>
CComPtr<Type> CreateComObject()
{
CComPtr<Type> newObject(new CComObject<Type>);
//do some tuning to the object
return newObject;
}
y quiero dar salida al tamaño de la clase que se pasa a new
(es decir, sizeof(CComObject<Type>)
a la salida del compilador Parece que #pragma message
sólo acepta cadenas
Cómo puedo salida ? un tiempo de compilación constante numérica
@Nawaz, 1 buena respuesta, pero va a dar a la compilación de advertencia consistente para todos los compiladores? (¿no puede ser un mensaje de error o ignorado para cualquier otro compilador?) – iammilind
@iammilind: Dado que el desbordamiento está garantizado, todas las compilaciones decentes generarán estos mensajes de advertencia (en mi opinión). – Nawaz
No necesita desbordamiento, si 'char' tiene más de ocho bits. Y ni gcc ni el compilador en línea de Cormeau proporcionan estas advertencias. –