Index: trunk/nv/types.hh
===================================================================
--- trunk/nv/types.hh	(revision 83)
+++ trunk/nv/types.hh	(revision 84)
@@ -191,10 +191,10 @@
               , type( nullptr )
               , flags( 0 )
-              , offset( offsetof( TOBJECT, *field ) )
+              , offset( offsetof( TOBJECT, field ) )
               // NOTE: if offsetof behaves badly, check offset_of in common.hh
         {
             flags = TF_CONTAINER |
-                ( std::is_pointer<TFIELD::value_type>::value ? TF_POINTER : 0 ) |
-                ( std::is_pod<TFIELD::value_type>::value ? TF_SIMPLETYPE : 0 );
+                ( std::is_pointer<typename TFIELD::value_type>::value ? TF_POINTER : 0 ) |
+                ( std::is_pod<typename TFIELD::value_type>::value ? TF_SIMPLETYPE : 0 );
         }
 
@@ -206,5 +206,5 @@
               , type( nullptr )
               , flags( 0 )
-              , offset( offsetof( TOBJECT, *field ) )
+              , offset( offsetof( TOBJECT, field ) )
               // NOTE: if offsetof behaves badly, check offset_of in common.hh
         {
