C3538 błąd kompilatora
na liście; niewłaściwy deklarator 'auto' musi zawsze wywnioskowanie do tego samego typu
Zadeklarowane zmienne w liście deklaracja nie umożliwiają rozwiązania tego samego typu.
Aby poprawić ten błąd
- Zapewnić, że wszystkie auto deklaracje na liście wywnioskowanie do tego samego typu.
Przykład
Poniższe instrukcje plon C3538.Każda instrukcja deklaruje wielu zmiennych, lecz każdy stosowania auto słowa kluczowego nie wywnioskowanie do tego samego typu.
// 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;
}