# Itemsize mismatch C++

**URL:** <https://www.ruby-forum.com/t/itemsize-mismatch-c/243405>\
**Category:** GNU Radio\
**Created:** [October 15, 2015, 4:04pm UTC](https://www.ruby-forum.com/t/itemsize-mismatch-c/243405 "2015-10-15T16:04:46Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sadaf\_N](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/858c86/32.png) [@Sadaf\_N](https://www.ruby-forum.com/u/Sadaf_N)\
**Post date:** [October 15, 2015, 4:04pm UTC](https://www.ruby-forum.com/t/itemsize-mismatch-c/243405/1 "2015-10-15T16:04:46Z")

</div>

While trying to connect Signal Source block and a Noise block to an add  
block then to a usrp\_sink I get an itemsize mismatch error at runtime:

what(): itemsize mismatch: sig\_source\_c0:0 using 8, add\_cc0:0 using 16

Connections:

Signal Source -\> [ |  
| |  
| add | ] -\> USRP Sink  
| |  
Noise Source -\> [ |

Types:  
Signal Source = Complex  
Noise Source = Complex  
USRP Sink = Complex

If i change the the code to use add\_ff (float) from add\_cc (complex) it  
complies and runs fine. Not the appropriate solution though.

Code:  
usrpsink(gr::uhd::usrp\_sink::make(uhd::device\_addr\_t(device\_id),  
uhd::stream\_args\_t(cpu\_fmt,otw\_fmt))),  
noisesource(gr::analog::noise\_source\_c::make(gr::analog::GR\_GAUSSIAN,  
noise\_amp, 0)),  
addnoise(gr::blocks::add\_cc::make(2)),  
sigsource(gr::analog::sig\_source\_c::make(samp\_rate,  
gr::analog::GR\_SIN\_WAVE, source\_freq, source\_amp)

topblock-\>connect(sigsource, 0, addnoise, 0);  
topblock-\>connect(noisesource, 0, addnoise, 1);  
topblock-\>connect(addnoise, 0, usrpsink, 0);
