我正在使用 Oracle API 访问数据库,并且该 API 具有readBuffer(char * buffer, unsigned int size);
我无法对其进行任何更改的功能。
我有一个使用此 API 的类,并且我的函数的签名当前采用 astd::string
和 anunsigned int
作为大小,问题是当我传递std::string.size()
给函数的 size 参数时,我从编译器收到警告,表明从size_t
to转换unsigned int
可以导致数据丢失。
我想知道是否有一种有效的方法可以将 转换size_t
为 anunsigned int
以便我可以将其传递给我的 API 而不会从编译器收到警告?
我了解 size_t 的目的,并且在谷歌上搜索这种转换会出现很多结果,上面写着“更改函数以采用 size_t arg”,但在这种情况下我不能更改我的 API 的签名。
有什么建议么?