Pardon me:

I am using Boost 1.54.

Also, there was an unanticipated text wrap in my email client. The line beginning with 'name".' is from the comment on the line before it.

Vince


On Mon, Oct 28, 2013 at 9:30 AM, Vincent N. Virgilio <virgilio@ieee.org> wrote:
Hello,

In the code below, VS 2012 (target v110) underlines the macro name BOOST_MSM_EUML_EVENT_WITH_ATTRIBUTES in the last line with a wavy red line. Hovering a mouse over it shows a tooltip with error report:

    "Error: not a class or struct name"

And if I recall correctly, the code does not compile.


The error disappears in VS 2013 (v120). Though in VS 2013 (target v120), if I remove line "namespace msm = boost::msm;", the last line triggers an error again. This time with a different tooltip error report: "Error: name followed by '::' must be a class or namespace name."

Am I using MSM incorrectly?

Thanks,

Vince



// BEGIN euml.h

#include <boost/msm/back/state_machine.hpp>
#include <boost/msm/front/state_machine_def.hpp>
#include <boost/msm/front/euml/euml.hpp>

using namespace boost::msm::front::euml;
namespace msm = boost::msm;

BOOST_MSM_EUML_DECLARE_ATTRIBUTE(char*, charp_attr)


BOOST_MSM_EUML_ATTRIBUTES((attributes_ << charp_attr), found_attrS)

// next line gives error in VS 2012 (target v110), "Error: not a class or struct name". Not in VS 2013 (targ. v12).
BOOST_MSM_EUML_EVENT_WITH_ATTRIBUTES(found, found_attrS)

// END euml.h