C/C++ Fixing a 'Invalid use of Member' Error in C++

  • Thread starter Thread starter lewis198
  • Start date Start date
  • Tags Tags
    C++ Error Member
AI Thread Summary
The discussion revolves around issues encountered while defining and using a class in C++. The user successfully declares a class with public members and member functions that compute values based on these members. However, errors arise when trying to assign values to the members and call a member function in the main program. Key points include the need to instantiate the class correctly and assign values to its members using the object reference (e.g., x.member1=value). Additionally, the correct way to call a member function is by using parentheses (e.g., printf("%d", x.member_function())). It is also noted that a semicolon is required after the class declaration, and members must be declared as public to be accessible outside the class.
lewis198
Messages
95
Reaction score
0
Hi guys, I was wondering if you could help me with the following:

1.I declare a class, then put public members into it.
2.Then I make member functions that return values that are computed from the values of other members. These functions would have no input, I guess, so I gave them none. I can actually compile up to this point.
3.Then I went onto the main part of the program, int main, and defined a class, and gave the members that are part of the other member functions values. I thought this would then give me a function that I could print values off, but when I tried to, the error message was:

'invalid use of member. Did you forget the '&'?'



The file looks like this:

class name
{

member 1
member 2
member n

member_function()
{}

}

int main()
{

class name x;
member1=value;
member2=value;
member3=value;

printf("%d",x.member_function);
}



Thanks for your time.
 
Technology news on Phys.org
#3 should read:

3.Then I went to the main part of the program, int main(), instantiated a class, and gave the properties of that class, their proper values.
 
Hi Ho!

Code:
member1=value;
member2=value;
member3=value;

It should be:
Code:
x.member1=value;
x.member2=value;
x.member3=value;
because they belong to the object, not to the class.

Also,
Code:
printf("%d",x.member_function);
should be
Code:
printf("%d",x.member_function());
because you invoke a method.Eus
 
Last edited:
Assuming this is C++, there's a ';" after the closing brace of the class declaration, and you need to declare the various members to be public as otherwise they are private by default.
 
thanks guys, appreciate it
 
Thread 'Star maps using Blender'
Blender just recently dropped a new version, 4.5(with 5.0 on the horizon), and within it was a new feature for which I immediately thought of a use for. The new feature was a .csv importer for Geometry nodes. Geometry nodes are a method of modelling that uses a node tree to create 3D models which offers more flexibility than straight modeling does. The .csv importer node allows you to bring in a .csv file and use the data in it to control aspects of your model. So for example, if you...
I tried a web search "the loss of programming ", and found an article saying that all aspects of writing, developing, and testing software programs will one day all be handled through artificial intelligence. One must wonder then, who is responsible. WHO is responsible for any problems, bugs, deficiencies, or whatever malfunctions which the programs make their users endure? Things may work wrong however the "wrong" happens. AI needs to fix the problems for the users. Any way to...

Similar threads

Replies
22
Views
3K
Replies
35
Views
4K
Replies
8
Views
2K
Replies
25
Views
2K
Replies
25
Views
3K
Back
Top