[OpenWalnut-Dev] Question concerning some template code
Alexander Wiebel
wiebel at zib.de
Sat Mar 5 22:33:59 CET 2011
Hi guys.
I have a problem with some of OpenWalnut's template code and
VisualStudio's compiler. The following diff shows what I need to do to
get it compile.
diff -r 2667e3ca1210 src/common/math/WTensor.h
--- a/src/common/math/WTensor.h Sat Mar 05 22:15:25 2011 +0100
+++ b/src/common/math/WTensor.h Sat Mar 05 22:22:24 2011 +0100
@@ -100,7 +100,7 @@
template< std::size_t order, std::size_t dim, typename Data_T >
WTensor< order, dim, Data_T >::WTensor()
- : WTensorFunc< WTensorBase, order, dim, Data_T >()
+// : WTensorFunc< WTensorBase, order, dim, Data_T >()
{
}
diff -r 2667e3ca1210 src/common/math/WTensorSym.h
--- a/src/common/math/WTensorSym.h Sat Mar 05 22:15:25 2011 +0100
+++ b/src/common/math/WTensorSym.h Sat Mar 05 22:22:24 2011 +0100
@@ -90,13 +90,13 @@
template< std::size_t order, std::size_t dim, typename Data_T >
WTensorSym< order, dim, Data_T >::WTensorSym()
- : WTensorFunc< WTensorBaseSym, order, dim, Data_T >()
+// : WTensorFunc< WTensorBaseSym, order, dim, Data_T >()
{
}
template< std::size_t order, std::size_t dim, typename Data_T >
WTensorSym< order, dim, Data_T >::WTensorSym( const WValue< Data_T >&
data )
- : WTensorFunc< WTensorBaseSym, order, dim, Data_T >( data )
+// : WTensorFunc< WTensorBaseSym, order, dim, Data_T >( data )
{
}
If I do not do this I get error messages like the following for WTensorSym.h
31>c:\users\bzfwiebe\development\w\openwalnut\src\datahandler\../common/math/WTensorSym.h(99)
: error C3200: 'WTensorBaseSym<order,dim,Data_T>' : invalid template
argument for template parameter 'TensorBase_T', expected a class template
31> with
31> [
31> order=2,
31> dim=3,
31> Data_T=float
31> ]
31>
c:\users\bzfwiebe\development\w\openwalnut\src\datahandler\../common/math/WTensorSym.h(99)
: while compiling class template member function
'WTensorSym<order,dim,Data_T>::WTensorSym(const WValue<T> &)'
31> with
31> [
31> order=2,
31> dim=3,
31> Data_T=float,
31> T=float
31> ]
31> ..\..\..\src\dataHandler\WDataSetDTI.cpp(61) : see reference
to class template instantiation 'WTensorSym<order,dim,Data_T>' being
compiled
31> with
31> [
31> order=2,
31> dim=3,
31> Data_T=float
31> ]
31>c:\users\bzfwiebe\development\w\openwalnut\src\datahandler\../common/math/WTensorSym.h(100)
: error C2614: 'WTensorSym<order,dim,Data_T>' : illegal member
initialization: 'WTensorFunc<WTensorBaseSym<2,3,float>,2,3,float>' is
not a base or member
31> with
31> [
31> order=2,
31> dim=3,
31> Data_T=float
31> ]
Any Ideas?
Cheers
Alex
More information about the OpenWalnut-Dev
mailing list