È possibile dichiarare una variabile var_b
dello stesso tipo di un'altra variabile, var_a
?Definire la variabile b dello stesso tipo della variabile a
Ad esempio:
template <class T>
void foo(T t) {
auto var_a = bar(t);
//make var_b of the same type as var_a
}
F_1 bar(T_1 t) {
}
F_2 bar(T_2 t) {
}
potrebbe essere degno di menzione che decltype() ti fornisce il tipo * esatto * in questo esempio, se var_a è un riferimento, b non sarà il default costruibile e fallirà Compilare chiaramente, questo può essere il caso anche per qualsiasi tipo definito dall'utente – Arvid
È possibile aggirare il problema di riferimento con ['std :: remove_reference'] (http://en.cppreference.com/w/cpp/types/remove_reference): 'std :: remove_reference :: type b; ' –
Mego