的私有成員是否有可能有一個非成員運算符像非會員運營的外國類
bool operator==(const std::string &l, const Token r)
到無關的類Interpreter
的私有成員函數? 我試過這種顯而易見的方式,但它不起作用(太多的參數)。 我知道,已經是冠軍「非成員函數[...]爲成員說:」相反的,但有比功能更好的方式
bool isToken(const std::string &l, const Token r)
做一個對比是依賴於(非靜態)成員Interpreter
?
不可能比較Token
s到string
s之外的Interpreter
。
一些進一步的信息:令牌是一個枚舉和comparisation依賴於建設一個Interpreter
的設置語言。
什麼是'Token',以及如何將''==工作,如果'Token'是LHS? – jxh
令牌是像KEYWORD_ELSE或CONDITION_ALWAYS這樣的枚舉。 KEYWORD_ELSE ==「else」對於「english」解釋器應該爲真解釋器和KEYWORD_ELSE ==「sonst」對於「german」解釋器應該是真的。 – Fabian
此外,如果==運算符是在Intepreter中定義的,您是怎麼想到語法看起來像的?或者您正在尋求一名僅在口譯員環境下工作的操作員,即針對口譯員的成員方法? –