(3n > 4)means that the third argument used for the call memcpy()must be greater than 4, and your calls violate this semantics. It is believed that semantics state that memcpy()it should not be used to copy data smaller than a machine word (usually 4). That is why the bird warns you. Whether semantics are appropriate or not is another question.
426:
426 "" "String". , ( -sem) . "String" - , . :
void f( int, int );
...
f( 2, 20 );
:
Call to function 'f(int, int)' violates semantic '(1n>10)'
, memcpy() , , lint:
void* memcpy(void* s1, const void* s2, std::size_t n);
, , , :
memcpy(&Record.Colours01[0], &diagData[0], 4);
memcpy(&Record.Colours02[1], &diagData[4], 4);
memcpy(&Record.Colours03[2], &diagData[8], 4);
:
memcpy(&Record, diagData, sizeof(Record));
, .