943,515 Members | Top Members by Rank

Ad:
  • C++ Discussion Thread
  • Unsolved
  • Views: 31089
  • C++ RSS
Jun 18th, 2004
0

passing objects as arguments

Expand Post »
Hi

I am attempting to pass a reference to an object from one function to another, is this even possible, if so what is the syntax this is an example of what I want:

C++ Syntax (Toggle Plain Text)
  1. class SomeClass {
  2. public:
  3. int a = 100;
  4. };
  5.  
  6. void second_function(SomeClass & ref_to_classobj)
  7. {
  8. std::cout << ref_to_classobj.a << endl;
  9. }
  10.  
  11. int main()
  12. {
  13. SomeClass classobj;
  14. second_function(classobj);
  15. return 0;
  16. }

Obviously the functions and classes I am using are a lot more complicated the class itself in the program I am writing takes about 5 seconds to construct due to it dealing and containing a huge amount of data. I don't want to have to reinitialise this class everytime I use it I want to just be able to point a reference to it. Does anyone know how to do this?

I have tried the method above, also:

void foo(SomeClass &reference)
void foo(SomeClass *reference)

and about 10 other variations on this, the usual error message I get is:

no matching function for call to `keyword_cache::find_keyword(const char[6])'

Any help will be greatly appreciated.

Thanks

Ben
Similar Threads
Reputation Points: 66
Solved Threads: 3
Junior Poster
liliafan is offline Offline
117 posts
since Apr 2004
Jun 18th, 2004
0

Re: passing objects as arguments

What you have written as an example looks correct. Your error message suggests a different issue at work? Perhaps the function find_keyword does not take a const string?

find_keyword( char* keyword )

if you said:

find_keyword( "123456" );

you would likely get the error you mention, because "123456" is a six char const array. (heck, maybe its 7 with a trailing null, but you get the idea)
Reputation Points: 36
Solved Threads: 11
Posting Pro in Training
Chainsaw is offline Offline
436 posts
since Jun 2004
Jun 18th, 2004
0

Re: passing objects as arguments

Quote originally posted by Chainsaw ...
What you have written as an example looks correct. Your error message suggests a different issue at work? Perhaps the function find_keyword does not take a const string?
You are right :o)

The actual call I was making was

C++ Syntax (Toggle Plain Text)
  1. void test_class(keyword_cache &test)
  2. {
  3. test.find_keyword("black");
  4. }

It was translating the "black" at a char array not a string.

Thanks for the help.

Ben
Reputation Points: 66
Solved Threads: 3
Junior Poster
liliafan is offline Offline
117 posts
since Apr 2004

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in C++ Forum Timeline: have a try if you are interested in...
Next Thread in C++ Forum Timeline: how to make colors





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC