私は、いくつかの値型のstdベクトルの関数のテンプレートコレクションをしようとしています。C++のカスタムソートアルゴリズムのテンプレートを使用した初心者の問題
だから私は、ソートアルゴリズムの使用を開始し、このようにそれをやった:
template <typename T>
struct SortReturn{
std::vector<T> values;
IntVector indexes;
};
class FunctionCollection
{
public:
FunctionCollection();
static SortReturn<T> QuickSort(std::vector<T>, bool ascending = true);
private:
static SortReturn QuickSortRecursive(SortReturn array, int left, int right, bool ascending);
};
しかし、これはコンパイルできないし、それは私に
/ホーム/ ariela/ownCloud /ワークスペース/ FunctionDev/functioncollectionを与えます。 h:18:error: 'T'がこのスコープで宣言されていません。 static SortReturn QuickSort(std :: vector、bool ascending = true); ^
私は間違っていますか?
ようになるはずですここで間違いを指摘する単純な答えを得るだけです。 – Hayt
テンプレートは、最初の構造体のみを参照します。 2番目の構造体(クラス)もテンプレート化されており、独自のテンプレート定義が必要です。しかし、独自の関数型ソートを行う前に、さらに多くのことが必要になります。 –