1
単純なメッセージテンプレートクラスを次のように作成します。私はchosen answer posted hereの逐語的な構造に従った。しかし、これは2013年テンプレートの特殊化:特定の型のみを受け入れるC++テンプレート
template<typename T> Message;
template<> Message <std::vector<uint8_t>>
{
public:
};
template<> Message <std::string>
{
};
のIntelliSenseが私に語っMessage is not a template
ことのVisual Studioで壊れているようです。
わずかに良好で前方宣言結果にMessage
前class
を配置するが、均等に迷惑なIntelliSenseのエラー:各テンプレートの開口ブレース{
後expected and identifier
。
template<typename T> class Message;
template<> Message <std::vector<uint8_t>>
{
public:
};
template<> Message <std::string>
{
};
上記のコードはすべて現在、ヘッダーファイルに格納されています。
これはうまくいくはずです(2番目の投稿コード)!より古いC++コンパイラは、 '>>'と '>>'の間にスペースを挿入する必要があることに注意してください。 ''ヘッダは含まれていますか?完全なエラーメッセージを投稿してください。 –
宣言と特殊化の両方で 'Message'の前に' class'を置きます。 – lorro
リンク先も固定です。 – Jarod42