First, your code isn't valid; the size of a C style array must be a constant. A valid version would be:
void
BinaryWriter::wr_padding( int padding_size)
{
std::vector<char> pad_arr( padding_size );
m_stream.write( &pad_arr[0], pad_arr.size() );
}
However: can you set some maximum value for padding_size
? (In
XDR, for example, it will never be more than 4.) If so,
something as simple as:
void
BinaryWriter::wr_padding( int padding_size )
{
static char const pad_arr[ max_padding_size ] = {};
m_stream.write( pad_arr, padding_size );
}
would do the trick.