[odb-users] Compile error , Memory leak detection enabled
    Boris Kolpackov 
    boris at codesynthesis.com
       
    Wed Mar  8 08:57:35 EST 2017
    
    
  
Hi Lloyd,
Lloyd <lloydkl.tech at gmail.com> writes:
> When I compile the application with Visual Studio CRT with memory leak
> detection (https://msdn.microsoft.com/en-us/library/x98tx3cf.aspx) I get
> the following error from ODB. Is it a problem associated with ODB?
> 
> Libraries\odb\libodb-2.4.0\odb/pointer-traits.hxx(156): error C2059: syntax
> error: 'constant'
> Libraries\odb\libodb-2.4.0\odb/pointer-traits.hxx(160): note: see reference
> to class template instantiation 'odb::pointer_traits<T*>' being compiled
I think this is a problem associated with the "Visual Studio CRT with memory
leak detection". The line the error points to looks like this:
free (void* p)
There is no mentioning of name 'constant'. My suspicion is that this leak
detection build uses macro hackery to redefine some symbols (like 'free',
which is not really legal per the C++ standard). You may want to report
this to Microsoft (and/or use some more modern memory leak detector).
Boris
    
    
More information about the odb-users
mailing list