I am trying to get the addition done on the following method defined in my code, but after submitting the user input the program just return an exception instead of addition.
Exception:
terminate called after throwing an instance of 'std::invalid_argument' what(): stoi
This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information.
Code:
#include <iostream>
#include <string>
using namespace std;
bool inputValidation_F(string userInput_VSTR1, string userInput_VSTR2)
{
    for (int inputChecker_V = 0; inputChecker_V < userInput_VSTR1.length() || userInput_VSTR1.length() && inputValidation_F; inputChecker_V ++)
        if (!(userInput_VSTR1[inputChecker_V] || userInput_VSTR2[inputChecker_V] >= 48 && userInput_VSTR1[inputChecker_V] || userInput_VSTR2[inputChecker_V] <= 57))
        return false;
    return true;
}
void mainMenu_F();
void userChoice_F();
void calCulations_F(double, double);
void resultAddition_F(double, double);
int main()
{
    mainMenu_F();
}
void mainMenu_F()
{
    cout << "Main Menu:" << '\n';
    cout << "-------------------------------" << '\n';
    cout << "Enter + for Addition" << '\n';
    cout << "-------------------------------" << '\n';
    cout << "Choose any Option from the List" << '\n';
    cout << "-------------------------------" << '\n';
    userChoice_F();
}
void userChoice_F()
{
    double addition_V_1;
    double addition_V_2;
    char uChoice_V;
    cin >> uChoice_V;
    switch (uChoice_V)
    {
    case '+':
    cout << "Addition: Enter the first value: "; cin >> addition_V_1;
    cout << "Addition: Enter the second value: "; cin >> addition_V_2;
    calCulations_F(addition_V_1, addition_V_2);
    }
}
void calCulations_F(double addition_V_1, double addition_V_2)
{
    string addition_V_1STR;
    string addition_V_2STR;
    addition_V_1 = stod (addition_V_1STR);
    addition_V_2 = stod (addition_V_2STR);
    bool additionChecker_F;
    additionChecker_F = inputValidation_F (addition_V_1STR, addition_V_2STR);
    if (!additionChecker_F)
        additionChecker_F = false;
    else resultAddition_F (addition_V_1, addition_V_2);
}
void resultAddition_F(double addition_V_1, double addition_V_2)
{
    double resultAddition_V = (addition_V_1 + addition_V_2);
    cout << "The result for the addition of the Entered values is: [" << resultAddition_V << "]" << '\n';
}
 
     
    