Повышение :: единиц :: количество & quot; неполный тип & quot; ошибка

Я пытаюсь использовать boost :: unit в проекте, но у меня возникли проблемы.

У меня есть шаблон класса, который имеет некоторые quantity объекты как члены. В одном я хочу сохранить значение с размерами давления, поэтому у меня есть quantity<pressure> press; объявлен как переменная-член.

Однако это дает ошибку, говоря, что quantity ожидает два аргумента шаблона (исходный код показывает, что второй аргумент шаблона должен по умолчанию double). Если я тогда укажу quantity<pressure,double> 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;
};

Подробности:

  • Boost 1.54.0
  • g ++ 4.7.3

5

Решение

Я считаю, что вы должны включить это:

#include <boost/units/quantity.hpp>

Coliru

4

Другие решения

Других решений пока нет …