boost :: serialization warning unusedvariable file_version

时间:2018-03-21 14:13:37

标签: c++ boost boost-serialization

我使用boost :: serialization库。在编译时,我得到了许多冗长的警告,这些警告似乎与在serialize函数中不使用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;
}

理所当然地提出另一个警告。

1 个答案:

答案 0 :(得分:3)

您可以匿名声明参数:

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.
}