У меня есть этот C++ пример кода:преобразование из 'size_t' на 'rapidjson :: SizeType'
void test()
{
rapidjson::Document doc;
doc.SetObject();
const std::string source = "The quick brown fox jumps over the lazy dog";
rapidjson::Value source_val;
source_val.SetString(source.c_str(), source.length(), doc.GetAllocator());
}
И во время компиляции, на платформе x64, я получаю это предупреждение:
предупреждение C4267: «аргумент»: преобразование из
size_t
вrapidjson::SizeType
, возможна потеря данных
Как правильно конвертировать из струны длина (size_t
) до rapidjson SizeType?
Я знаю, что предупреждение не является ошибкой, но могу ли я избавиться от этого предупреждения? – mtb
Да, static_cast - это решение, но я считаю, что документация fastjson для определения RAPIDJSON_NO_SIZETYPEDEFINE более элегантна. Спасибо за ваш ответ. – mtb
Просто помните, что на самом деле использование столь длинных строк сделает xml неповторимым в 32-битных системах. – user2079303