C++:同时使用整数和对整数的引用

C++: Simultaneous use of Integers and References to Integers

考虑以下 class 表示具有上限和下限的整数参数:

class Parameter
{
protected:
    int value;
    int minval;
    int maxval;
};

我有一个参数对象列表。有时,参数的 minval/maxval 将是列表中另一个参数的值。其他时候,它们只是整数文字。据我了解,我可以 minval/maxval 引用另一个参数值或整数文字,但不能同时引用这两者,因为 int& != int.

我该如何解决这个问题?

如果没有更多信息,这很难回答,但是如果您希望 相同的 class 拥有可以是 int 或参考的成员int 听起来像是 std::variant 的用例,即

class Parameter
{
protected:
    int value;
    std::variant<int, int*> minval;
    std::variant<int, int*> maxval;
};

注意这里需要指针类型因为.