New Class made -> error LNK2019: unresolved external symbol
#1 GDNet+ - Reputation: 1547
Posted 09 December 2012 - 08:28 PM
1>main.obj : error LNK2019: unresolved external symbol "class City __cdecl Ice_Palace_City(void)" (?Ice_Palace_City@@YA?AVCity@@XZ) referenced in function _main
I cannot figure out why this is occurring.... I made the City.h file and setup all my prototypes, then made the City.cpp file to declare everything, now when I use the class I get this error.
Any reason why this is happening?
I have #include "City.h" in my main.cpp file, and City.cpp file.
What can I do to fix this? Only thing that changed since my last successful build was adding this class.
OpenChess - 1.0 done!
Classic RPG #1 - Task 9 -> January 1st 2013
#2 Members - Reputation: 681
Posted 09 December 2012 - 09:16 PM
http://www.cpgf.org/
cpgf library -- free C++ open source library for reflection, serialization, script binding, callbacks, and meta data for OpenGL Box2D, SFML and Irrlicht.
v1.5.5 was released. Now supports tween and timeline for ease animation.
#3 GDNet+ - Reputation: 1547
Posted 09 December 2012 - 09:27 PM
Stupid mistake!
Edited by Black-Rook, 09 December 2012 - 09:33 PM.
OpenChess - 1.0 done!
Classic RPG #1 - Task 9 -> January 1st 2013
#4 Members - Reputation: 681
Posted 09 December 2012 - 09:29 PM
http://www.cpgf.org/
cpgf library -- free C++ open source library for reflection, serialization, script binding, callbacks, and meta data for OpenGL Box2D, SFML and Irrlicht.
v1.5.5 was released. Now supports tween and timeline for ease animation.
#5 Members - Reputation: 681
Posted 09 December 2012 - 09:40 PM
Not that stupid.EDIT: Never mind, I see the problem, I shouldn't have initialized it as City Ice_Palace_City() -> But Ice_Palace_City.
Stupid mistake!
That's another C++ quirk.
When defining an object value, if using default constructor, we can't write the "()" because it will be treated as function declaration, but if not the default constructor, we have to give "()".
MyClass obj; // can't have ()
MyClass obj(1, "abc");
http://www.cpgf.org/
cpgf library -- free C++ open source library for reflection, serialization, script binding, callbacks, and meta data for OpenGL Box2D, SFML and Irrlicht.
v1.5.5 was released. Now supports tween and timeline for ease animation.
#6 GDNet+ - Reputation: 1547
Posted 09 December 2012 - 09:42 PM
Oh well... Thanks!
OpenChess - 1.0 done!
Classic RPG #1 - Task 9 -> January 1st 2013
#8 Members - Reputation: 2407
Posted 10 December 2012 - 08:39 AM
class Point
{
public:
Point(float x, float y){ }
};
void f()
{
int x = 10, y = 16;
Point p(float(x), float(y)); // blurgh
}
That case had me scratching my head for a long time the first time I encountered it. I believe the rule is that if the compiler is able to treat it as either a declaration or a function prototype, it is required to favour the prototype interpretation of the token list.
As an aside, this particular case is another seldom quoted reason to prefer static_cast<> style casts.
Edited by Aardvajk, 10 December 2012 - 08:41 AM.
#9 Members - Reputation: 681
Posted 10 December 2012 - 09:02 AM
+1That case had me scratching my head for a long time the first time I encountered it. I believe the rule is that if the compiler is able to treat it as either a declaration or a function prototype, it is required to favour the prototype interpretation of the token list.
As an aside, this particular case is another seldom quoted reason to prefer static_cast<> style casts.
Very interesting example, I didn not know it before.
But is that standard c++ to treat point p(float(x), float(y)) as function declaration?
http://www.cpgf.org/
cpgf library -- free C++ open source library for reflection, serialization, script binding, callbacks, and meta data for OpenGL Box2D, SFML and Irrlicht.
v1.5.5 was released. Now supports tween and timeline for ease animation.
#11 Moderators - Reputation: 6622
Posted 10 December 2012 - 09:47 AM






