Errore del compilatore C3538
in un elenco di dichiaratori 'auto' deve sempre essere dedotto nello stesso tipo
Tutte le variabili dichiarate in un elenco di dichiarazioni non restituiscono lo stesso tipo.
Per correggere l'errore
- Assicurarsi che tutte le dichiarazioni
auto
nell'elenco siano dedotte nello stesso tipo.
Esempio
Le seguenti istruzioni generano l'errore C3538. Ogni istruzione dichiara più variabili, ma ogni uso della parola chiave auto
non viene dedotto 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 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;
}