我有一個類型爲std::array<Point, SIZE>::iterator
的迭代器數組,其中SIZE
是一個模板變量。C++ - 爲std :: array迭代器創建一個std ::數組的別名
所以具有這些迭代器的陣列將是
std::array<std::array<Point, SIZE>::iterator, SIZE>
這是一種痛苦在我有功能的數量來寫。
我在想這種類型的別名,但我不知道如何,而有模板變量SIZE
。
我試圖
template<std::size_t SIZE>
using p_iterators = std::array<std::array<Point, SIZE>::iterator, SIZE>;
而且裏面的功能我所做的:
template<std::size_t SIZE>
template <typename T>
p_iterators<SIZE> eucledian_closest(T &points) {}
我得到了這些錯誤:
closest_pair.cpp:24:70: error: type/value mismatch at argument 1 in template parameter list for ‘template<class _Tp, long unsigned int _Nm> struct std::array’
using p_iterator = std::array<std::array<Point, SIZE>::iterator, SIZE>;
^
closest_pair.cpp:24:70: error: expected a type, got ‘std::array<Point, SIZE>::iterator’
closest_pair.cpp:42:1: error: ‘p_iterator’ does not name a type
p_iterator<SIZE> eucledian_closest(T &points) {
我不知道如何別名這種類型甚至如何在功能template <typename T>
中使用另一個模板的同時使用該模板。
'template'' –
0x499602D2