爲什麼我不能在函數中聲明模板類型別名?爲什麼我不能在函數內聲明模板類型別名?
#include <vector>
int main(){
//type alias deceleration:
template <typename T>
using type = std::vector<T>;
//type instantiation:
type<int> t;
}
error: a template declaration cannot appear at block scope
爲什麼我們被迫把這些聲明塊範圍之外?
#include <vector>
//type alias deceleration:
template <typename T>
using type = std::vector<T>;
int main(){
//type instantiation:
type<int> t;
}
你可以* *的函數內聲明的類型別名。你有什麼是模板別名。 – user2079303
@ user2079303正確。調整的問題。 –
鑑於目前的答案,「標準如此說」,你能否澄清問題是「爲什麼它決定不允許這個問題?」,這是我最初的看法。 – BoBTFish