此函数阻止Wagic:自制软件从编译:
This function is preventing Wagic: the homebrew from Compiling:
/ home / white / Pandora / wagic-read-only / projects / mtg / src / GameOptions。 cpp:1156:error:没有匹配'operator >>'in's >> local'
/home/white/Pandora/wagic-read-only/projects/mtg/src/GameOptions.cpp:1156: error: no match for ‘operator>>’ in ‘s >> local’
源(GameOptions.cpp): code.google/p/wagic/source/browse/trunk / projects / mtg / src / GameOptions.cpp 源代码(一般): code.google/p/wagic/source/browse/
Source(GameOptions.cpp): code.google/p/wagic/source/browse/trunk/projects/mtg/src/ GameOptions.cpp Source(General): code.google/p/wagic/source/browse/
(第1142-1172行)
(Line 1142-1172)
bool GameOptionKeyBindings::read(string input) { istringstream iss(input); vector<pair<LocalKeySym, JButton> > assoc; while (iss.good()) { stringstream s; iss.get(*(s.rdbuf()), ','); iss.get(); LocalKeySym local; char sep; u32 button; s >> local >> sep >> button; if (':' != sep) return false; assoc.push_back(make_pair(local, u32_to_button(button))); } if (assoc.empty()) return false; JGE* j = JGE::GetInstance(); j->ClearBindings(); for (vector<pair<LocalKeySym, JButton> >::const_iterator it = assoc.begin(); it != assoc.end(); ++it) j->BindKey(it->first, it->second); return true; }如何重写这个来编译?
推荐答案s >> local
调用默认 operator>> 它不理解你的自定义类 LocalKeySym 所以你需要为你的自定义类重载 Operator>> LocalKeySym 。
Calls the default operator >> which does not understand your custom class LocalKeySym So You need to Overload the Operator >> for your custom class LocalKeySym.
示例代码:
std::istream& operator>>(std::istream& is, LocalKeySym& obj) { // read LocalKeySym obj from stream if( /* no valid object of LocalKeySym found in stream */ ) is.setstate(std::ios::failbit); return is; }更多推荐
“操作符>>>”不匹配在's>>>>>&
发布评论