Foo.h:
class Foo
{
public:
Foo(void);
~Foo(void);
void AddScreen(std::string name, ScreenBase &screenToAdd);
private:
std::map<std::string, ScreenBase> m_screens;
};
Foo.cpp:
void Foo::AddScreen(string name, ScreenBase &screenToAdd)
{
m_screens[name] = screenToAdd;
}
最后一行创建编译错误 C2784: 'bool std::operator <(const std::_Tree<_Traits> &,const std::_Tree<_Traits> &)' : 无法推断出 'const std:: 的模板参数
注释掉最后一行,编译成功。
我是 C++ 新手(来自托管语言),不知道为什么我不能用它填充地图。
任何见解都值得赞赏。谢谢。
ScreenBase.h :
#pragma once
class ScreenBase
{
public:
ScreenBase();
~ScreenBase();
virtual void Update(float tt, float dt);
virtual void Render();
};
ScreenBase.cpp:
#include "pch.h"
#include "ScreenBase.h"
ScreenBase::ScreenBase(void)
{
}
ScreenBase::~ScreenBase(void)
{
}
void ScreenBase::Update(float tt, float dt)
{
}
void ScreenBase::Render()
{
}