Я использую пакет FEniCS для создания некоторого FEM. Я пытаюсь нажать экземпляр DirichletBC в вектор типа const BoundaryCondition*
. В настоящее время я получилПередача DirichletBC в вектор BoundaryCondition
std::vector<const BoundaryCondition*> bcs;
DirichletBC bcl(V0, c, left);
bcs.push_back(&bcl)
Даже если это сделано в примере, который я видел, я получаю ошибку
no matching function for call to
std::vector<const dolfin::BoundaryCondition*>::push_back(dolfin::DirichletBC&)
Посмотрев через Дельфиньи файлы библиотек я вижу глоток TypeMap. i-файл, который, кажется, допускает такое поведение, я использую это или что-то пропустил?
Почему вы хотите поместить указатель на локальную переменную стека в вектор? как насчет 'DirichletBC * bcl = new DirichletBC (V0, c, слева); bcs.push_back (BCL) '? –
Вы уверены, что 'DirichletBC' наследуется публично из' BoundaryCondition'? Кажется, что компилятор не может найти преобразование из 'DirichletBC' в' BoundaryCondition' –