type
リスト要素のデータ型とリスト内の要素数の2 つのテンプレート引数を持つクラスのプライベート メンバーとしてリストがsize
あります。この目的のために、2 つのテンプレート引数を使用してリストの塗りつぶしコンストラクターを使用したいと考えています。これが私の試みです:
#include <list>
template <typename type, unsigned int size>
class my_class {
private:
std::list<type> my_queue(size, 0);
// More code here...
};
私のアプローチは、ここで提供されている情報と例に従っているようです。しかし、これをコンパイルすると、次のエラーが発生します。
error: 'size' is not a type
error: expected identifier before numeric constant
error: expected ',' or '...' before numeric constant
塗りつぶしコンストラクターではなく、デフォルトのコンストラクターによってリストの宣言を認識しているようです。誰でもこれを解決するのを手伝ってもらえますか?
ありがとうございました!
編集:これが私の改訂されたソースであり、詳細が記載されています。私は現在、パブリックメソッドに問題があります。注:これは私のクラスのヘッダー ファイルです。
#include <list>
template <typename T, unsigned int N>
class my_class {
private:
std::list<T> my_queue;
public:
// Constructor
my_class() : my_queue(N, 0) { }
// Method
T some_function(T some_input);
// The source for this function exists in another file.
};
編集 2:最終実装... ありがとう、@billz!
#include <list>
template <typename T, unsigned int N>
class my_class {
private:
std::list<T> my_queue;
public:
// Constructor
my_class() : my_queue(N, 0) { }
// Method
T some_function(T some_input){
// Code here, which accesses my_queue
}
};