Я использую Oracle API для доступа к базе данных, и у этого API есть функция readBuffer(char * buffer, unsigned int size);
, в которую я не могу вносить какие-либо изменения.
У меня есть класс, который использует этот API и подпись моей функциив настоящее время принимает std::string
и unsigned int
для размера, проблема в том, что когда я передаю std::string.size()
аргументу размера моей функции, я получаю предупреждение от моего компилятора, что преобразование из size_t
в unsigned int
может привести к потере данных.
Интересно, существует ли действительный способ для преобразования size_t
в unsigned int
, чтобы я мог передать его в свой API и не получить предупреждение от компилятора?
Я понимаю назначение size_t, и поиск в Google для этого преобразования приводит к большому количеству результатов, в которых говорится: "Измените функцию на аргумент size_t", но я НЕ МОГУТ * изменить сигнатуру моего API вэто дело.
Есть предложения?