Connecting Tech Pros Worldwide Forums | Help | Site Map

What does this mean? Any help appreciated!

pkirk25
Guest
 
Posts: n/a
#1: Oct 24 '06
It looks like the Visuakl Studio Intellisense can see the various
functions but its compiler cannot. I am well out of my depth with this
error message.

report.obj : error LNK2019: unresolved external symbol "private: class
std::vector<class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char,class
std::allocator<class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char __thiscall
Table::v3_snapshot(class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char)"
(?v3_snapshot@Table@@AAE?AV?$vector@V?$basic_strin g@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V? $allocator@V?$basic_string@DU?$char_traits@D@std@@ V?$allocator@D@2@@std@@@2@@std@@V?$basic_string@DU ?$char_traits@D@std@@V?$allocator@D@2@@3@@Z)
referenced in function "public: class std::vector<class
std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char,class std::allocator<class
std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char __thiscall Table::snapshot(class
std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char)"
(?snapshot@Table@@QAE?AV?$vector@V?$basic_string@D U?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$al locator@V?$basic_string@DU?$char_traits@D@std@@V?$ allocator@D@2@@std@@@2@@std@@V?$basic_string@DU?$c har_traits@D@std@@V?$allocator@D@2@@3@@Z)

//tables.h
public:
Table(string db_file);
vector<stringrealm_list();
vector<stringsnapshot(string realm);
int get_item_median(string item_code);
int get_item_snap(string item_code);
private:
bool isLoaded;
int version_number;
string get_realm_name(string); // return realm name if one is found
in string
vector<stringv4_snapshot(string realm);
vector<stringv3_snapshot(string realm);

//tables.cpp
....
#include "tables.h"
....
vector<stringTable::snapshot(string realm)
{
vector<stringsnapshot;
if (4 == version_number)
{
snapshot = this->v4_snapshot(realm);
}
else
{
snapshot = this->v3_snapshot(realm);
}

return snapshot;

}


pkirk25
Guest
 
Posts: n/a
#2: Oct 24 '06

re: What does this mean? Any help appreciated!


nt

Mike Wahler
Guest
 
Posts: n/a
#3: Oct 24 '06

re: What does this mean? Any help appreciated!



"pkirk25" <pknews@kirks.netwrote in message
news:1161697372.080312.194890@h48g2000cwc.googlegr oups.com...
Quote:
It looks like the Visuakl Studio Intellisense can see the various
functions but its compiler cannot. I am well out of my depth with this
error message.
>
report.obj : error LNK2019: unresolved external symbol "private: class
std::vector<class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char,class
std::allocator<class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char __thiscall
Table::v3_snapshot(class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char)"
(?v3_snapshot@Table@@AAE?AV?$vector@V?$basic_strin g@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V? $allocator@V?$basic_string@DU?$char_traits@D@std@@ V?$allocator@D@2@@std@@@2@@std@@V?$basic_string@DU ?$char_traits@D@std@@V?$allocator@D@2@@3@@Z)
referenced in function "public: class std::vector<class
std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char,class std::allocator<class
std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char __thiscall Table::snapshot(class
std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char)"
(?snapshot@Table@@QAE?AV?$vector@V?$basic_string@D U?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$al locator@V?$basic_string@DU?$char_traits@D@std@@V?$ allocator@D@2@@std@@@2@@std@@V?$basic_string@DU?$c har_traits@D@std@@V?$allocator@D@2@@3@@Z)
>
//tables.h
public:
Table(string db_file);
vector<stringrealm_list();
vector<stringsnapshot(string realm);
int get_item_median(string item_code);
int get_item_snap(string item_code);
private:
bool isLoaded;
int version_number;
string get_realm_name(string); // return realm name if one is found
in string
vector<stringv4_snapshot(string realm);
vector<stringv3_snapshot(string realm);
Here you promise to the compiler that there exists
somewhere the definition of a function named
'Table::v3_snapshot()'. Did you provide one?
Quote:
>
//tables.cpp
...
#include "tables.h"
...
vector<stringTable::snapshot(string realm)
This signature states that this function will return
an object of type 'vector<string>'
Quote:
{
vector<stringsnapshot;
if (4 == version_number)
{
snapshot = this->v4_snapshot(realm);
'snapshot()' is a function. Why are you trying to assign
something to it?
Quote:
}
else
{
snapshot = this->v3_snapshot(realm);
}
>
return snapshot;
Why are you trying to return a type other than what
the function is defined to return?
Quote:
>
}
>
-Mike


Roland Pibinger
Guest
 
Posts: n/a
#4: Oct 24 '06

re: What does this mean? Any help appreciated!


On 24 Oct 2006 06:42:52 -0700, "pkirk25" <pknews@kirks.netwrote:
Quote:
>It looks like the Visuakl Studio Intellisense can see the various
>functions but its compiler cannot. I am well out of my depth with this
>error message.
It probably means that you need to add tables.cpp to your project or
make file.

Good luck,
Roland Pibinger
Victor Bazarov
Guest
 
Posts: n/a
#5: Oct 24 '06

re: What does this mean? Any help appreciated!


Mike Wahler wrote:
Quote:
"pkirk25" <pknews@kirks.netwrote in message
Quote:
>...
>vector<stringTable::snapshot(string realm)
>
This signature states that this function will return
an object of type 'vector<string>'
>
Quote:
>{
>vector<stringsnapshot;
>if (4 == version_number)
>{
>snapshot = this->v4_snapshot(realm);
>
'snapshot()' is a function. Why are you trying to assign
something to it?

'snapshot' is also a local variable, hiding the name of the function
in which it's declared. Look at the first line inside the body of
this function.

int foo()
{
int foo = 42;
return foo;
}

int main()
{
return foo();
}

This practice is not recommended, but it's perfectly legal.
Quote:
>
Quote:
>}
>else
>{
>snapshot = this->v3_snapshot(realm);
>}
>>
>return snapshot;
>
Why are you trying to return a type other than what
the function is defined to return?
Huh?
Quote:
Quote:
>>
>}
V
--
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask


pkirk25
Guest
 
Posts: n/a
#6: Oct 24 '06

re: What does this mean? Any help appreciated!


My mistake was to have the declarations done but to have the
implementations under under names. Kicked myself a bit when I saw that
I had forgotten to rename the fuctions after renaming the declarations.

Didn't help that the error message is a mouthful and that Intellisense
seemed to see things that were no longer there but untimately my fault.

Closed Thread