size_t в unsigned int (из функции API)

Я использую Oracle API для доступа к базе данных, и этот API имеет функцию readBuffer (char * buffer, unsigned int size); для в который я не могу вносить никаких изменений.

У меня есть класс, который использует этот API, и подпись моей функции в настоящее время принимает std :: string и unsigned int для размера проблема в том, что когда я передаю std :: string. size () в аргумент size моей функции, я получаю предупреждение от моего компилятора, что преобразование из size_t в unsigned int может привести к потере данных.

Мне было интересно, существует ли допустимый способ для преобразования size_t в unsigned int , чтобы я мог передать его в свой API и не получать предупреждения из компилятора?

Я понимаю цель size_t, и поиск в Google для этого преобразования дает много результатов, в которых говорится: «изменить функцию, чтобы она принимала аргумент size_t», но я НЕ МОГУ изменить подпись мой API в этом случае.

Есть предложения?

8
задан Tony The Lion 19 April 2011 в 10:04
поделиться