I'm trying to call the public function validInfixCheck() in main but I'm getting this error when trying to compile:
g++ calculatorMain.cpp CalculatorExp.cpp
In function `main':
calculatorMain.cpp:(.text+0x99): undefined reference to 
`CalculatorExp::validInfixCheck(std::string)'
collect2: error: ld returned 1 exit status
NOTE: validInfixCheck() doesn't do anything right now. I just want to make sure I can use it in main.
I have tried calling a public function that doesn't have a parameter to verify that that is not a problem and the same error shows up.
calculatorMain.cpp
#include "CalculatorExp.h"
#include<iostream>
#include <string>
using namespace std;
//prototype declarations
string getInfixExpression();
int main()
{
    CalculatorExp calc; 
    string inputExpression;
    inputExpression = getInfixExpression();
    calc.validInfixCheck(inputExpression);
    return 0;
}
string getInfixExpression()
{
    string exp;
    cout<<"Enter infix expression to evaluate: "<<endl;
    cin>>exp;
    return exp;
}
CalculatorExp.cpp
#include "CalculatorExp.h"
#include <string>
#include <stack> 
using namespace std;
CalculatorExp::CalculatorExp()
{
  //default constructor 
}
// public //
// valid input check
bool validInfixCheck(string inputExpression)
{
    return 0;
}
CalculatorExp.h
#ifndef CALCULATOREXP_H
#define CALCULATOREXP_H
#include <string>
#include <stack> 
using namespace std;
class CalculatorExp
{
    public:
     /** Default Constructor; 
    * @param none
    * @pre None*/
        CalculatorExp();  
     /** CONSTANT MEMBER FUNCTIONS*/
    /** returns the exp.
    /* @pre None
    /* @post The value returned is the exp*/
        string get_exp( ) const { return exp; } 
    /** FUNCTIONS*/
    /** returns true if exp is validated.
    /* @pre None
    /* @post The value returned is true if exp is validated.*/  
    bool validInfixCheck(string inputExpression);
    private:
    /** expression*/
        string exp;
};
#endif 
 
    