mmdvm-sdr
mmdvm-sdr copied to clipboard
Narrowing conversion error
Hi! Thank you for your work, I'm actually looking into the same idea of having an SDR-based repeater :)
I tried to compile your code today on by Debian XX machine (x86), and I got those compilation errors:
home/manoel/mmdvm-sdr/IORPi.cpp:39:240: error: narrowing conversion of ‘192’ from ‘int’ to ‘char’ inside { } [-Wnarrowing]
/home/manoel/mmdvm-sdr/IORPi.cpp:39:240: error: narrowing conversion of ‘143’ from ‘int’ to ‘char’ inside { } [-Wnarrowing]
/home/manoel/mmdvm-sdr/IORPi.cpp:39:240: error: narrowing conversion of ‘192’ from ‘int’ to ‘char’ inside { } [-Wnarrowing]
/home/manoel/mmdvm-sdr/IORPi.cpp:39:240: error: narrowing conversion of ‘128’ from ‘int’ to ‘char’ inside { } [-Wnarrowing]
/home/manoel/mmdvm-sdr/IORPi.cpp:39:240: error: narrowing conversion of ‘187’ from ‘int’ to ‘char’ inside { } [-Wnarrowing]
/home/manoel/mmdvm-sdr/IORPi.cpp:39:240: error: narrowing conversion of ‘255’ from ‘int’ to ‘char’ inside { } [-Wnarrowing]
/home/manoel/mmdvm-sdr/IORPi.cpp:39:240: error: narrowing conversion of ‘255’ from ‘int’ to ‘char’ inside { } [-Wnarrowing]
/home/manoel/mmdvm-sdr/IORPi.cpp:39:240: error: narrowing conversion of ‘255’ from ‘int’ to ‘char’ inside { } [-Wnarrowing]
/home/manoel/mmdvm-sdr/IORPi.cpp:39:240: error: narrowing conversion of ‘255’ from ‘int’ to ‘char’ inside { } [-Wnarrowing]
Managed to clear the error by formatting the wav header as a char directly using this:
char wavheader[] = {(char)0x52,(char)0x49,(char)0x46,(char)0x46,(char)0xb8,(char)0xc0,(char)0x8f,(char)0x00,(char)0x57,(char)0x41,(char)0x56,(char)0x45,(char)0x66,(char)0x6d,(char)0x74,(char)0x20,(char)0x10,(char)0x00,(char)0x00,(char)0x00,(char)0x01,(char)0x00,(char)0x01,(char)0x00,(char)0xc0,(char)0x5d,(char)0x00,(char)0x00,(char)0x80,(char)0xbb,(char)0x00,(char)0x00,(char)0x02,(char)0x00,(char)0x10,(char)0x00,(char)0x64,(char)0x61,(char)0x74,(char)0x61,(char)0xff,(char)0xff,(char)0xff,(char)0xff};
But I don't think this is the most elegant way... :)
Cheers!