Errore del compilatore C3538
in un elenco di dichiaratori 'auto' deve sempre dedurre nello stesso tipo
Tutte le variabili dichiarate in un elenco di dichiarazioni non risolvono nello stesso tipo.
Per correggere l'errore
- Verificare che tutte le dichiarazioni auto nell'elenco deducano nello stesso tipo.
Esempio
Le istruzioni seguenti generano l'errore C3538. Ogni istruzione dichiara più variabili, ma ogni utilizzo della parola chiave auto non deduce nello stesso 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, 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;
}