问题描述
对于以下编译器警告,我感到困惑,当我尝试将ipv4地址in_addr
从struct sockaddr_in
转换为uint32_t
到字节的std :: array时,得到了警告。 / p>
std::array<uint8_t,4> IpAddress;
struct in_addr in_addr = {};
const char* addr_str = "168.212.226.204";
if (inet_pton(AF_INET,addr_str,&in_addr))
{
uint8_t* addr = reinterpret_cast<uint8_t*>(&(in_addr.s_addr));
for (int i = 0; i < 4; i++)
{
IpAddress[i] = addr[i]; // warning: conversion to 'std::array<unsigned char,4>::size_type {aka long unsigned int}' from 'int' may change the sign of the result [-Wsign-conversion]
}
}
如何解决此问题?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)