#include "base.h"#include <Poco/SharedPtr.h>#include <Poco/AutoPtr.h>#include <vector>using Poco::SharedPtr;using Poco::AutoPtr;namespace kroll{ class Value; class KObject; class KMethod; class KList; class StaticBoundObject; class StaticBoundMethod; class StaticBoundList; class GlobalObject; class ScopeMethodDelegate; class Bytes; class VoidPtr; class ValueReleasePolicy; class Logger; class ArgList; template <class C> class KAutoPtr : public AutoPtr<C> { public: KAutoPtr() : AutoPtr() {} KAutoPtr(C* ptr) : AutoPtr(ptr) {} KAutoPtr(C* ptr, bool shared) : AutoPtr(ptr, shared) {} KAutoPtr(const AutoPtr& ptr) : AutoPtr(ptr) {} /*KAutoPtr& operator = (const AutoPtr& ptr) { return assign(ptr); }*/#ifdef DEBUG //This is used in debug builds as a workaround to release all memory //before VS debugger incorrectly dumps it as memory leak. KObject* release() { KObject* t = _ptr; _ptr = 0; return t; }#endif };
I get the following errors:
kroll/libkroll/kroll.h:66: error: expected ',' or '...' before '&' tokenkroll/libkroll/kroll.h:66: error: ISO C++ forbids declaration of 'AutoPtr' with no typekroll/libkroll/kroll.h: In constructor 'kroll::KAutoPtr<C>::KAutoPtr()':kroll/libkroll/kroll.h:57: error: class 'kroll::KAutoPtr<C>' does not have any field named 'AutoPtr'kroll/libkroll/kroll.h: In constructor 'kroll::KAutoPtr<C>::KAutoPtr(C*)':kroll/libkroll/kroll.h:60: error: class 'kroll::KAutoPtr<C>' does not have any field named 'AutoPtr'kroll/libkroll/kroll.h: In constructor 'kroll::KAutoPtr<C>::KAutoPtr(C*, bool)':kroll/libkroll/kroll.h:63: error: class 'kroll::KAutoPtr<C>' does not have any field named 'AutoPtr'kroll/libkroll/kroll.h: In constructor 'kroll::KAutoPtr<C>::KAutoPtr(int)':kroll/libkroll/kroll.h:66: error: class 'kroll::KAutoPtr<C>' does not have any field named 'AutoPtr'kroll/libkroll/kroll.h:66: error: 'ptr' was not declared in this scopekroll/libkroll/kroll.h: In member function 'kroll::KObject* kroll::KAutoPtr<C>::release()':kroll/libkroll/kroll.h:79: error: '_ptr' was not declared in this scope
line 66 is KAutoPtr(const AutoPtr& ptr) : AutoPtr(ptr)
I am using the command line i686-apple-darwin10-gcc-4.2.1 to compile the code on MAC OS X 10.6.7 machine.