Error del compilador C3538

en una lista de declaradores, 'auto' siempre debe deducirse como el mismo tipo

No todas las variables declaradas en una lista de declaraciones se resuelven en el mismo tipo.

Para corregir este error

  1. Asegúrese de que todas las declaraciones de auto de la lista se deducen en el mismo tipo.

Ejemplo

Las instrucciones siguientes producen C3538. Cada instrucción declara múltiples variables, pero no todos los usos de la palabra clave auto se deducen en el mismo tipo.

// C3538.cpp
// Compile with /Zc:auto
// C3538 expected
int main()
{
// Variable x1 is a pointer to char, but y1 is a double.
   auto * x1 = "a", y1 = 3.14;
// Variable c is a char and c1 is char*, but c2, and c3 are pointers to pointers.
   auto c = 'a', *c1 = &c, * c2 = &c1, * c3 = &c2;
// Variable x2 is an int, but y2 is a double and z is a char.
   auto x2(1), y2(0.0), z = 'a';
// Variable a is a pointer to int, but b is a pointer to double.
   auto *a = new auto(1), *b = new auto(2.0);
   return 0;
}

Consulte también

Auto (palabra clave)