Неверное пользовательское преобразование: ошибка C ++ - PullRequest
0 голосов
/ 16 июня 2019

Я делаю (очень) простую калькуляторную программу на C ++, используя Code :: Blocks в качестве моей IDE.Я испытываю пару ошибок в моей программе.Пожалуйста, посмотрите на мой код и скажите, в чем ошибка.Спасибо.

#include <iostream>
#include <limits>
#include <conio.h>

int num1;
char Operator;
int num2;


void sum() {
    std::cin >> num1; // User inputs first number
    std::cin >> Operator; // User inputs operator
    std::cin >> num2; // User inputs second number

    // These if statements identify the operator and perform the appropriate 
    // operation

    if ( Operator == '+' ) {
        std::cout << num1 + num2;
     }

    else if ( Operator == '-' ) {
        std::cout << num1 - num2;
    }

    else if ( Operator == '*' ) {
         std::cout << num1 * num2;
    }

    else if ( Operator == '/' ) {
        std::cout << num1 / num2;
    }

    else {
        std:: cout << "Incorrect value/s entered.";
    }
}

int main {
    std::cout << "Press q to quit the program.";

    while(1) {
        sum()

        if(ascii_value==113) { // For Q
            break;
        }
    }

    return 0;
}

Ошибки:

error: invalid user-defined conversion from 'std:: basic_ostream<char>' to 
'int' [-fpermissive]
error: expected unqualified-id before 'while'

Я начал изучать C ++ всего четыре дня назад, поэтому, пожалуйста, оцените тот факт, что я не знаю много об ошибках.Кроме того, я не уверен, нужно ли мне включать лимиты, поэтому, пожалуйста, сообщите мне в комментариях ниже.

1 Ответ

2 голосов
/ 16 июня 2019

int main не является объявлением функции, измените его на

int main()

, а sum() требуется точка с запятой.а в if(ascii_value==113), ascii_value не определено нигде в коде

...