This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

auto_ptr gcc version 3.3.1 (cygming special) problem


Hi,
I am not shure that this is a error , but it is very strange...

//autoPtr.cpp
#include <iostream>
#include <memory>
using namespace std;

class B {
public:
B(int cid) : cid_(cid) { cout << "B(" << cid_ << ")\n"; }
~B() { cout << "~B(" << cid_ << ")\n"; }
private:
int cid_; };


class A {
public:
A(int cid) : cid_(cid) { cout << "A(" << cid_ << ")\n"; }
~A() { cout << "~A(" << cid_ << ")\n"; } B* getB() { return new B(cid_); }
private:
int cid_; };


int main(int argc, char *argv[])
{
   A a(1);
   auto_ptr<B> b = static_cast< auto_ptr<B> >(a.getB());
   A a2(2);
   auto_ptr<B> b2 = static_cast< auto_ptr<B> >(a2.getB());
   cin.get();
 return 0;
}

If I compile this file with gcc version 3.2.3 (mingw special 20030504-1) no errors ocur (g++ -o autoPtr autoPtr.cpp).
But if I try to compile using gcc version 3.3.1 (cygming special), with the same command line (g++ -o autoPtr autoPtr.cpp),
this errors ocur:
autoPtr.cpp: In function `int main(int, char**)':
autoPtr.cpp:26: error: invalid static_cast from type `B*' to type `
std::auto_ptr<B>'
autoPtr.cpp:29: error: invalid static_cast from type `B*' to type `
std::auto_ptr<B>'


what is the problem??

thanks,
marcelo



--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]