こんにちは私はXCode、gcc(Apple LLVMコンパイラ3.0)でクラスをコンパイルするのに問題があります 私はクラスContextScheduleを書きました。これは他のクラスメンバ関数のリストをカプセル化し、 MSVC++ 2005の下でそれをコンパイルする。テンプレートパラメータのクラスメンバ関数へのポインタ
template<class T>
class C_ContextScheduler
{
public:
typedef void (T::*T_EventFunc)();
typedef std::map<u64, T_EventFunc> T_EventMap;
public:
//@ c-tor
C_ContextScheduler(T & context) : m_Context(context), m_currentTick(0) {};
//@ Schedule
//@ funcPtr - pointer to function of class T
//@ dellayTime in milliseconds - after dellayTime from now will be funcPtr called
void Schedule(T_EventFunc funcPtr, u32 dellayTime)
{
u64 callingTime = m_currentTick + dellayTime;
std::pair<int, bool> res = m_eventMap.insert(T_EventMap::value_type(callingTime, funcPtr));
SC_ASSERT(res.second);
} ...
アイデア?このソリューションのテンプレート方法を維持したいと思っています。
正確に表示されるエラーメッセージは何ですか? –
あなたは "問題がある"と言いますが、あなたは*何*問題かは言いません。 – sth
テンプレートタイプのパラメータのテンプレート引数は、タイプが – oiko