•
•
•
•
What is DaniWeb IT Discussion Community?
You're currently browsing the C++ section within the Software Development category of DaniWeb, a massive community of 375,205 software developers, web developers, Internet marketers, and tech gurus who are all enthusiastic about making contacts, networking, and learning from each other. In fact, there are 2,356 IT professionals currently interacting right now! Registration is free, only takes a minute and lets you enjoy all of the interactive features of the site.
Please support our C++ advertiser:
Views: 133 | Replies: 5
![]() |
•
•
Join Date: May 2008
Posts: 16
Reputation:
Rep Power: 1
Solved Threads: 0
function is x/y+z means (x/y)+z
if you dont write to Z anything
program says "ERROR: Operator-operand imbalance."
program is that as it is above
and my code is
ERRORS--> error C2144: syntax error : missing ')' before type 'int'
error C2660: 'arith_ex' : function does not take 0 parameters
error C2059: syntax error : ')'
if you dont write to Z anything
program says "ERROR: Operator-operand imbalance."
program is that as it is above
and my code is
#include <iostream>
using namespace std;
class Calculator
{
int x,y,z;
public:
void arith_ex(int,int,int);
};
void Calculator::arith_ex(int x,int y,int z)
{
cout<<"X="<<endl;
cin>>x;
cout<<"Y="<<endl;
cin>>y;
cout<<"Z="<<endl;
cin>>z;
if(z==' ')
{cout<<"ERROR: Operator-operand imbalance."<<endl;
}
cout<<"Sonuc="<<x/y+z<<endl;
}
int main()
{
Calculator hesap;
hesap.arith_ex(int x,int y ,int z); //expected primary expression before 'int'//
return 0;
}ERRORS--> error C2144: syntax error : missing ')' before type 'int'
error C2660: 'arith_ex' : function does not take 0 parameters
error C2059: syntax error : ')'
You have declared variables x,y,z as members of the class and also as parameter values of the function
and call the function as
alternatively you can define the function without any arguments like
in this line
arith_ex
do something like this C++ Syntax (Toggle Plain Text)
void Calculator::arith_ex(int x,int y,int z) { if(z==' ') {cout<<"ERROR: Operator-operand imbalance."<<endl; } cout<<"Sonuc="<<x/y+z<<endl; }
C++ Syntax (Toggle Plain Text)
hesap.arith_ex(5,4,3); //or any other values entered by the user
alternatively you can define the function without any arguments like
C++ Syntax (Toggle Plain Text)
void Calculator::arith_ex() { //rest of the code here }
in this line
hesap.arith_ex(int x,int y ,int z); x,y,z are undefined. Declare them earlier in the code and assign them some values. There are 10 types of people in the world, those who understand binary and those who don't.
All generalizations are wrong. Even this one.
All generalizations are wrong. Even this one.
•
•
Join Date: Nov 2007
Posts: 770
Reputation:
Rep Power: 4
Solved Threads: 155
You already correctly take all the input from the user by using cin, e.g. the following works
cin>>x;
But you cannot call a function like this:
hesap.arith_ex(int x,int y ,int z);
The above line actually generates all of the three errors you get.
You are not allowed to specify the types of the arguments you pass to a function when you make the function call. Instead you need to do it like:
// declare the variables you need to pass to the function int x = 0; int y = 0; int z = 0; // here you might also get the values from the user, using cin hesap.arith_ex(x, y, z); // now make the function call with the arguments
![]() |
•
•
•
•
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
•
•
•
•
•
•
•
•
DaniWeb C++ Marketplace
- Previous Thread: Iteration vs recursion
- Next Thread: Help needed with directories



Linear Mode