Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > C++ > What does this mean? Any help appreciated!

Reply
Thread Tools

What does this mean? Any help appreciated!

 
 
pkirk25
Guest
Posts: n/a
 
      10-24-2006
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<string> realm_list();
vector<string> snapshot(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<string> v4_snapshot(string realm);
vector<string> v3_snapshot(string realm);

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

return snapshot;

}

 
Reply With Quote
 
 
 
 
pkirk25
Guest
Posts: n/a
 
      10-24-2006
nt

 
Reply With Quote
 
 
 
 
Mike Wahler
Guest
Posts: n/a
 
      10-24-2006

"pkirk25" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed) oups.com...
> 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<string> realm_list();
> vector<string> snapshot(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<string> v4_snapshot(string realm);
> vector<string> v3_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?

>
> //tables.cpp
> ...
> #include "tables.h"
> ...
> vector<string> Table::snapshot(string realm)


This signature states that this function will return
an object of type 'vector<string>'

> {
> vector<string> snapshot;
> if (4 == version_number)
> {
> snapshot = this->v4_snapshot(realm);


'snapshot()' is a function. Why are you trying to assign
something to it?

> }
> 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?
>
> }
>


-Mike


 
Reply With Quote
 
Roland Pibinger
Guest
Posts: n/a
 
      10-24-2006
On 24 Oct 2006 06:42:52 -0700, "pkirk25" <(E-Mail Removed)> wrote:
>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
 
Reply With Quote
 
Victor Bazarov
Guest
Posts: n/a
 
      10-24-2006
Mike Wahler wrote:
> "pkirk25" <(E-Mail Removed)> wrote in message
>> ...
>> vector<string> Table::snapshot(string realm)

>
> This signature states that this function will return
> an object of type 'vector<string>'
>
>> {
>> vector<string> snapshot;
>> 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.

>
>> }
>> 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?

>>
>> }


V
--
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask


 
Reply With Quote
 
pkirk25
Guest
Posts: n/a
 
      10-24-2006
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.

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
501 PIX "deny any any" "allow any any" Any Anybody? Networking Student Cisco 4 11-16-2006 10:40 PM
icmp weirdness - PIX 501 (does any really mean any??) news8080@yahoo.com Cisco 2 09-23-2005 04:04 PM
so what does IE or any of the IE shells have over firefox ? (any anti firefox ppl bother looking at recent plugins available?) *ProteanThread* Firefox 12 10-20-2004 08:31 AM
Does framework have any FTP functionality built in? Any resources/articles? Thnx (n/t) Kikoz ASP .Net 6 07-27-2004 03:07 AM
Does any one have any material for 70-015 Srinivas Iragavarapu MCSD 0 10-08-2003 05:48 AM



Advertisments