
You suggest putting everything in header file. But in the documentation
example, all the code is in a demo.cpp file.
Besides, i still get same error if i put function definition to header file.
The only solution currently is to write all the class code in a single cpp
file (without .h file). I am not much familiar with c++. But I think there
must be a way of separating the declaration and definition of the template
function.
Any idea?
Abdullah Arslan
Software Engineering and Management Master Program, University of Göteborg
On Sun, Dec 5, 2010 at 2:49 AM, Edward Diener
On 12/4/2010 6:49 PM, Abdullah ARSLAN wrote:
you seem to be right. I was using a header file for class declaration and a cpp file for definition, when i moved everything to cpp file, It worked.
But what is the problem? My header file contains template<class Archive> void serialize(Archive & ar, const unsigned int version);
and in cpp file template<class Archive> void g7GameObject::serialize(Archive & ar, const unsigned int version) { ar & height; ar & width; ...... } // my class name is g7GameObject
and with above code i get following error error LNK2019: unresolved external symbol "private: void __thiscall g7GameObject::serialize....
What am i doing wrong
In the typical template inclusion model, both the template declaration and the template definition need to be in a header file so that soure using the template can include that header file and get the full template code. If you put the definition in a source file it is quite likely that code which uses that template never "include"s that source file and therefore the template definition is missing when you link.
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users