Esta advertencia aparece cuando tiene una declaración de un tipo que contradice a otra (una dice "clase", la otra dice "estructura"). Dada la regla de una definición, todas las declaraciones excepto a lo sumo uno deben ser declaraciones directas. La advertencia generalmente indicará que una declaración adelantada de un tipo es incorrecta y suele ser un error tipográfico y debe corregirse. En este caso, no debería haber efectos secundarios, pero realmente debería solucionarlo.
Sin embargo, pueden ocurrir algunas cosas muy desagradables si tiene conflictos de nombres de tipos (tal vez causados por el uso de cláusulas de "uso de espacios de nombres" o contaminación del espacio de nombres global). Estas advertencias pueden indicar que está mezclando encabezados de dos bibliotecas diferentes y los nombres de tipo tienen conflictos. El código compilado bajo estas condiciones podría hacer algunas cosas muy inesperadas.
Mi consejo: comprenda por qué ha aparecido la advertencia y fíjelo. Si la advertencia está en un producto de un tercero, insista en que lo solucionen.
Un gran consejo, gracias. –
MS Mangling Scheme en http://en.wikipedia.org/wiki/Microsoft_Visual_C%2B%2B_Name_Mangling#Data_Type: 'union' se codifica como' T', 'struct' como' U' y 'class' como' V' . –
Gracias! , podría encontrar una estructura typedef ..., causándome esta advertencia. – HadesDX