Trouble with PMTs

I’m updating older code from using the old streaming messaging to the
new
and improved message passing and PMTs. However I am getting an error
compiling.

Here is the code snippet:

void energy_detector_sink_f_impl::send_to_message_p(float *out, int
items_consumed) {
pmt::pmt_t msg = pmt::cons(
const pmt::pmt_t out,
const pmt::pmt_t
sizeof(float)*items_consumed
);
message_port_pub(d_outfreq, msg);
}

and the error:

/home/fox/git_repos/custom_modules/gr-specsense/lib/energy_detector_sink_f_impl.cc:
In member function ‘void
gr::specsense::energy_detector_sink_f_impl::send_to_message_p(float*,
int)’:
/home/fox/git_repos/custom_modules/gr-specsense/lib/energy_detector_sink_f_impl.cc:147:
error: expected primary-expression before ‘const’
/home/fox/git_repos/custom_modules/gr-specsense/lib/energy_detector_sink_f_impl.cc:148:
error: expected primary-expression before ‘const’
make[2]: ***
[lib/CMakeFiles/gnuradio-specsense.dir/energy_detector_sink_f_impl.cc.o]
Error 1
make[1]: *** [lib/CMakeFiles/gnuradio-specsense.dir/all] Error 2
make: *** [all] Error 2

By no means do I consider myself an expert in C++ so I am not really
sure
if this is a PMT problem or not but because PMTs are involved it makes
troubleshooting via Google a little trickier.

Jonathan

On 01/19/2015 12:28 AM, Jonathan F. wrote:

/home/fox/git_repos/custom_modules/gr-specsense/lib/energy_detector_sink_f_impl.cc:

In member function void
gr::specsense::energy_detector_sink_f_impl::send_to_message_p(float*, int):

/home/fox/git_repos/custom_modules/gr-specsense/lib/energy_detector_sink_f_impl.cc:147:

error: expected primary-expression before const

/home/fox/git_repos/custom_modules/gr-specsense/lib/energy_detector_sink_f_impl.cc:148:

error: expected primary-expression before const

The error code is telling you what you need to know; your C++ is
invalid. You can’t declare variables inside the call to cons(). Use the
converter functions to convert ‘out’ to a PMT (same with the second PMT)
or use the constructor notation and skip the ‘const’.

This is unrelated to PMT or even GNU Radio. I’m sure googling for the
gcc error message would have given you at least some response.

Cheers,
M

Thanks for the help.

The first thing I did was search the compiler error but wasn’t
successful
in finding a well written answer such as yours.

On Mon, Jan 19, 2015 at 2:12 AM, Martin B. [email protected]