boost::serialization 警告变量未使用 file_version
boost::serialization warning unusedvariable file_version
我使用 boost::serialization 库。编译时我收到很多冗长的警告,这些警告似乎与未在序列化函数中使用 file_version 有关。 (编译器:g++)
有没有一种聪明的方法可以显式地禁用这些函数的警告,因为我通常喜欢未使用的变量警告,这有助于避免愚蠢的错误。
代码示例(非常不完整,但足以说明问题):
template<class Archive>
void serialize(Archive &ar, const unsigned int file_version)
{
ar & this->bias_;
for(auto& layer : this->layers_)
ar & layer; // old boost version doesn't do this for containers.
}
我的写作想法
template<class Archive>
void serialize(Archive &ar, const unsigned int file_version)
{
file_version;
ar & this->bias_;
for(auto& layer : this->layers_)
ar & layer;
}
理所当然地提出了另一个警告。
您可以匿名声明参数:
template<class Archive>
void serialize(Archive &ar, const unsigned int /*file_version*/)
{
ar & this->bias_;
for(auto& layer : this->layers_)
ar & layer; // old boost version doesn't do this for containers.
}
我使用 boost::serialization 库。编译时我收到很多冗长的警告,这些警告似乎与未在序列化函数中使用 file_version 有关。 (编译器:g++)
有没有一种聪明的方法可以显式地禁用这些函数的警告,因为我通常喜欢未使用的变量警告,这有助于避免愚蠢的错误。
代码示例(非常不完整,但足以说明问题):
template<class Archive>
void serialize(Archive &ar, const unsigned int file_version)
{
ar & this->bias_;
for(auto& layer : this->layers_)
ar & layer; // old boost version doesn't do this for containers.
}
我的写作想法
template<class Archive>
void serialize(Archive &ar, const unsigned int file_version)
{
file_version;
ar & this->bias_;
for(auto& layer : this->layers_)
ar & layer;
}
理所当然地提出了另一个警告。
您可以匿名声明参数:
template<class Archive>
void serialize(Archive &ar, const unsigned int /*file_version*/)
{
ar & this->bias_;
for(auto& layer : this->layers_)
ar & layer; // old boost version doesn't do this for containers.
}