###前提・実現したいこと
siv3dでメニューを表示するクラスを作っています。
その中で以下のようなエラーが出てしまいます。
###発生している問題・エラーメッセージ
コード | 説明 | ファイル | 行 |
---|---|---|---|
C2244 | 'Menu<ItemCode>::add':関数の定義を既存の宣言と合致させることができませんでした | menu.cpp | 10 |
C2244 | 'Menu<ItemCode>::update':関数の定義を既存の宣言と合致させることができませんでした | menu.cpp | 16 |
C2244 | 'Menu<ItemCode>::draw':関数の定義を既存の宣言と合致させることができませんでした | menu.cpp | 26 |
C2955 | 'Menu':クラステンプレートを使用するにはテンプレート引数リストが必要です | main.cpp | 6 |
###該当のソースコード
Menu.h
1#pragma once 2#include <Siv3D.hpp> 3#include "Controller.h" 4 5template <class ItemCode> 6class Menu 7{ 8 Font font{ 16 }; 9 Array<ItemCode> items; 10 Array<String> text; 11public: 12 Menu& add(String text, ItemCode item); 13 14 void update(); 15 void draw(Vec2 pos) const; 16};
Menu.cpp
1#include "Menu.h" 2 3 4 5template <class ItemCode> 6Menu &Menu<ItemCode>::add(String text, ItemCode item) { 7 text.push_back(text); 8 items.push_back(item); 9 return *this; 10} 11 12 13template <class ItemCode> 14void Menu::update() { 15 16} 17 18 19template <class ItemCode> 20void Menu::draw(Vec2 pos) const { 21 for (size_t i = 0; i < text.size(); i++) 22 { 23 font(text[i]).draw(pos); 24 pos.y -= 32; 25 } 26}
###試したこと
MSDNなどで調べてみたのですがやはり直りませんでした。
###補足情報
環境はVisual studio 2015です。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/14 13:36
2017/12/14 13:54