चेतावनी बनाने मैं एक सी मजाक कर रहा हूँ ++ वर्ग जो Google Mock और VS2010 का उपयोग कर 2 अतिभारित कार्य हैं:गूगल मॉक: मज़ाक उड़ाया अतिभारित कार्यों C4373
#include "stdafx.h"
#include "gmock/gmock.h"
#include "A.h"
class MockA : public A
{
public:
// ...
MOCK_METHOD3(myFunc, void(const int id, const int errorCode, const CString errorMsg));
MOCK_METHOD1(myFunc, void(const CString errorMsg));
// ...
};
हर बार जब मैं संकलन मैं दो बार चेतावनी निम्नलिखित मिलती है:
1>c:\dev\my_project\tests\mocka.h(83): warning C4373: 'MockA::myFunc': virtual function overrides 'A::myFunc', previous versions of the compiler did not override when parameters only differed by const/volatile qualifiers
1> c:\dev\my_project\my_project\include\a.h(107) : see declaration of 'A::myFunc'
कोई विचार क्यों?
क्या यह सही व्यवहार है?
मैं इससे कैसे बच सकता हूं?
करें कि आप सही संस्करण उपयोग कर रहे हैं - जब 'A' की विधि आप अधिभावी रहे हैं' const' है MOCK_CONST_METHOD इस्तेमाल किया जाना चाहिए। –
@ बिली ओनेल - विधि स्वयं ही नहीं है, केवल इसके पैरामीटर हैं। क्या मुझे अभी भी MOCK_CONST_METHOD का उपयोग करना चाहिए? – Jonathan
नहीं; उस स्थिति में आपको वह करना चाहिए जो आप कर रहे हैं :) –