I made a recent change to a class (we'll call it MyClass) within a custom library in which the set_value(const wstring&, ValueType) function was split into two functions: set_value(const wstring&) and set_value_type(ValueType). ValueType is either 0 or 1 (it's an enumeration type).
One of the applications that links to this class creates an auto_ptr<MyClass> variable. For example: wsstring new_value; ValueType value_type(Document_Type); auto_ptr<MyClass> my_class_ptr; Within the now-failing downstream applicatin, I converted former calls (that used to work) from: set_value(new_value, value_type) to be split into two calls as follows: set_value(new_value); set_value_type(value_type); Putting print statements insice the set_value() and set_value_type() member functions show that set_value_type() is never called and set_value() is called but the object's value type is some large arbitrary number and not 0 or 1 (it's properly initialized in the constructor to 0 and properly propogated by the copy ctor and assignment ops). It's as if the auto_ptr<MyClass> somehow left the old interface laying around, and calls to the new interface are somehow directed to the old interface (and the second ValueType seems to be picking up whatever's on the stack). The basic class is very simple and all inspection seems to point to some tempplate-oriented save area that I am not clearing out before recompiling everything with the new interface. I've deleted all the .a and .o for that library and all of the applications that use it. The applications and test drivers within the same directory as this MyClass class work flawlessly. Any thoughts on what further I need to clean up before recompiling applications that were originally compiled with the old interface? I've never seen something like this before, and I am currently stumped as to the exact topic to query in either the docs or on Google Groups. I'm using g++/gcc 3.4 on Fedora Core 3 on AMD 64 (x86_64... yay! It rocks!) _______________________________________________ Help-gplusplus mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-gplusplus
