0
我一直在奮戰編譯器一段時間了。這裏是我的代碼:Boost mpl list和auto_test_case_template編譯錯誤
#include <boost/test/unit_test.hpp>
#include <boost/mpl/list.hpp>
namespace MyMessageNamespace
{
class ParticularMessage
{
template <int N>
void SetSomething(int myValue) {};
};
}
template <typename MyMessageT>
struct MyMessage
{
using MyMessageType = MyMessageT;
};
using MyMessages = boost::mpl::list<MyMessage<MyMessageNamespace::ParticularMessage>>;
BOOST_AUTO_TEST_CASE_TEMPLATE(MyTestCase, MyMessage, MyMessages)
{
typename MyMessage::MyMessageType message;
message.SetSomething<1>(20);
}
這是我得到的錯誤:
error: reference to non-static member function must be called:
message.SetSomething<1>(20);
我現在得到這個錯誤 錯誤:沒有匹配的成員函數調用'SetSomething' –
@JonathonHill和你讓SetSomething公開? –
是的,我做了:(你是否嘗試編譯這段代碼? –