Die Antwort ist Ja, da Sie wahrscheinlich das Kompilieren überprüft haben. Die Regeln sind die gleichen wie für die Ableitung von Vorlagenargumenten. Sie können jederzeit überprüfen, welche Art für bestimmtes Auto Variable in IDE abgeleitet wird oder Compiler-Fehler für diese Verwendung, zB:
class my{
/*some things*/
}myobj;
template<typename T> class TD;
int main()
{
auto newobj = myobj;
TD<decltype(newobj)> td;
}
Fehler produziert:
main.cpp:14:26: error: aggregate 'TD<my> td' has incomplete type and cannot be defined
TD<decltype(newobj)> td;
Ihnen Informationen zu geben, dass newobj
vom Typ my