[Trilinos-Users] Compilation error when specializing Thyra::initializePrec<Scalar> with [Scalar=double]

Bartlett, Roscoe A. bartlettra at ornl.gov
Wed Nov 2 13:45:43 MDT 2011


>  I am quite sure that this compilation error is due to the fact that
>  the member function
>  Thyra::PreconditionerFactoryBase<double>::uninitializePrec
>  is not properly called on line 0085 of
>  Thyra_PreconditionerFactoryHelpers.hpp.
>  In particular, this line currently is:
>  precFactory.uninitializePrec(prec, Teuchos::outArg(fwdOpSrc),
>  supportSolveUse);

[Bartlett, Roscoe A.] 

I think you want:

   using Teuchos::outArg; Teuchos::inOutArg;
   Thyra::uninitializePrec<double>(precFactory, inoutArg(prec), outArg(fwdOpSrc), outArg(supportSolveUse)); 

I would have to see more context to see your types for 'precFactory', 'prec', 'fwdOpSrc' and 'supportSolveUse' to know for sure.

The above helper function Thyra::uninitializePrec<>(...) is defined in the header Thyra_PreconditionerFactoryHelpers.hpp

Let me know if this does not work for you,


P.S. We are not quite fully finished refactoring Thyra to remove raw C++ pointers using the convention defined in http://www.cs.sandia.gov/~rabartl/TeuchosMemoryManagementSAND.pdf .  That is part of the confusion.  In general, the non-member helpers are updated before the virtual member functions due to backward comparability challenges.

More information about the Trilinos-Users mailing list