Я использую 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 в этом случае.
Есть предложения?