我正在尝试在项目中使用 boost::units 但遇到了麻烦。
我有一个模板类,其中有一些quantity
对象作为成员。在一个中,我希望存储一个具有压力维度的值,因此我已将其quantity<pressure> press;
声明为成员变量。
然而,这给出了一个错误,说quantity
需要两个模板参数(源代码显示第二个模板参数应该默认为double
)。如果我然后指定quantity<pressure,double> press;
我会得到一个错误,上面写着
- 错误:字段“press”的类型不完整。
我做错了什么还是以某种方式实施压力有问题?
最小的例子:
#include <boost/units/dimension.hpp>
#include <boost/units/systems/si/pressure.hpp>
using namespace boost::units;
using namespace boost::units::si;
struct MyClass
{
quantity<pressure,double> press;
};
细节:
- 提升 1.54.0
- g++ 4.7.3