googlemock(とStackOverflow)が新しくなりました。 googlemockでMOCK_METHODn
を使用しているときに問題が発生しました。この機能は広く使用されていると思います。ここに私がしたことがあります。 オーバーロードされた演算子にgmock MOCK_METHODを使用するには?
operator[]
と抽象クラス
Foo
を持っている:
class Foo{
public:
virtual ~Foo(){};
virtual int operator [] (int index) = 0;
}
と私が取得するgooglemockを使用したいMockFoo
:
class MockFoo: public Foo{
public:
MOCK_METHOD1(operator[], int(int index)); //The compiler indicates this line is incorrect
}
しかし、このコードは私のようなコンパイルエラーを与えますこれは:
error: pasting "]" and "_" does not give a valid preprocessing token
MOCK_METHOD1(operator[], GeneInterface&(int index));
My understan dingはコンパイラがoperator[]
を誤解しており、メソッド名として使用していません。しかしMOCK_METHODn
を使ってoperator[]
を偽る正しい方法は何ですか?私はgooglemockからdocsを読んだが、私の質問に関連するものは何も見つかりませんでした。誰かがそれを手伝ってくれる?
ありがとうございます!