Freigeben über


Compilerfehler C3538

in einer Deklaratorenliste muss "Auto" immer zum gleichen Typ hinleiten

Nicht alle deklarierten Variablen in einer Deklarationsliste werden in denselben Typ aufgelöst.

So beheben Sie diesen Fehler

  • Stellen Sie sicher, dass alle auto-Deklarationen in der Liste zum gleichen Typ hinleiten.

Beispiel

Die folgenden Anweisungen erzeugen C3538. Jede Anweisung deklariert mehrere Variablen, aber nicht jede Verwendung des auto-Schlüsselworts leitet zum gleichen Typ hin.

// 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, but c1, 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;
}

Siehe auch

Referenz

auto Keyword