From: Loïc Joly (loic.joly_at_[hidden])
Date: 2006-05-10 06:20:13
Peter Dimov a écrit :
>> However, with MSVC8.0, and at least when I compile with /clr, I seem
>> to have some problem with it : The null fct ptr seems to be coded
>> 0xffffffff. That is just fine in non /clr compilation, where it gets
>> evaluated as false when converted in boolean. But in /clr mode, it is
>> converted to true.
> I can't reproduce this problem with the following code:
> #include <boost/shared_ptr.hpp>
> #include <iostream>
> int main()
> boost::shared_ptr<int> px;
> std::cout << ( px? true: false ) << std::endl;
> compiled as /clr. The compiler does seem to encode a NULL member pointer
> as -1, but the example prints 0, as it should.
Here is finally some code that reproduces the problem. The compilation
options are the default ones when creating a "CLR console application"
// TestBoostSharde_ptrAnd.NET.cpp : main project file.
typedef boost::shared_ptr<A> APtr;
using namespace System;
int main(array<System::String ^> ^args)
A *a = NULL;
Whereas it should display
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk