Boost::units::quantity ошибка неполного типа

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

У меня есть класс шаблона, в котором есть несколько объектов 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;    
};

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

  • Повышение 1.54.0
  • g++ 4.7.3

person Dan    schedule 18.11.2013    source источник


Ответы (1)


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

#include <boost/units/quantity.hpp>

Колиру

person Community    schedule 18.11.2013
comment
Спасибо, я только что понял это тоже. Такая ошибка новичка. Так есть ли объект quantity в .../dimension.hpp? - person Dan; 18.11.2013
comment
@Dan Не уверен, но я просто посмотрел файл примера, который им нужен, чтобы увидеть, какие заголовки необходимы. - person ; 18.11.2013