Seemingly Inexplicable C++ Error

Knight7770

Hippopotomonstrosesquiped aliophobia
Reaction score
187
I'm making a non-decimal version of my Dessert Stock Market game, so I'm converting all related floats to ints. However, I have a function which was getting some of those floats passed to it. I made sure I changed that function's arguments appropriately, but I still get an error when I try to compile the program. I know that the problem lies within the arguments for the function. Here is the related code:

The error:
Code:
error LNK2019: unresolved external symbol "void __cdecl calculate_stock(float,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,int)" (?calculate_stock@@YAXMV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@0H@Z) referenced in function "void __cdecl trade_stocks(void)" (?trade_stocks@@YAXXZ)

The call to the function:
Code:
calculate_stock(trade.stock_trade_number[c],trade.stock_name_one[c], trade.stock_name_two[c], c);

The function declaration:
Code:
void calculate_stock(float a, std::string b, std::string d, int c)

The variables being passed to the function:
Code:
std::string stock_name_one[10], stock_name_two[10]; int stock_trade_number[10]; int c=0;

If you want any more of the code, just ask (but it won't be pretty ;)).
 

SFilip

Gone but not forgotten
Reaction score
633
I'll take a rough guess here and ask - have you changed the function declaration in both the .h and the .cpp file?
 

Knight7770

Hippopotomonstrosesquiped aliophobia
Reaction score
187
I'll take a rough guess here and ask - have you changed the function declaration in both the .h and the .cpp file?
Yes, I have; all instances of the function have been appropriately fixed.
 
Reaction score
332
I can not see why those factors alone would result in that error. Consider posting more code?
 

Knight7770

Hippopotomonstrosesquiped aliophobia
Reaction score
187
I can not see why those factors alone would result in that error. Consider posting more code?
Well, I'll post this stuff:

Another error (no idea what the cause of this is):
Code:
fatal error LNK1120: 1 unresolved externals

The trade class:
Code:
class trade
{
	public:
		char stock_number_one[8][10];
		int stock_trade_number[10];
		std::string stock_name_one[10], stock_name_two[10];
}trade;

The first few lines of the calculate_stock function (it's mostly if/else statements):
Code:
void calculate_stock(int a, std::string b, std::string d, int c)
{
	const int trade_value=1;
	p_cookies_value = cookies_value;
	p_muffins_value = muffins_value;
	p_pies_value = pies_value;
	p_cakes_value = cakes_value;
	if(b=="Cookies")
	{
		player.cookies[c] = player.cookies[c] - a;
	}
        ...
 
Reaction score
332
From your first post:
Code:
void calculate_stock([B]float a[/B], std::string b, std::string d, int c)
From your last post:
Code:
void calculate_stock([B]int a[/B], std::string b, std::string d, int c)

(Presumably the prototype and definition are not matching)
 

Knight7770

Hippopotomonstrosesquiped aliophobia
Reaction score
187
From your first post:
Code:
void calculate_stock([B]float a[/B], std::string b, std::string d, int c)
From your last post:
Code:
void calculate_stock([B]int a[/B], std::string b, std::string d, int c)

(Presumably the prototype and definition are not matching)
I can't believe I missed that. It works now!

I give you my thanks for indefinite periods of time :thup:
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top