使用boost mpl list和BOOST_AUTO_TEST_CASE_TEMPLATE进行编译错误

时间:2016-05-10 09:50:20

标签: c++ boost

我一直在与编译器争夺一段时间。这是我的代码:

#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);
}

这是我得到的错误:

错误:必须调用对非静态成员函数的引用:message.SetSomething&lt; 1&gt;(20);

0 个答案:

没有答案