Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Getting error: expected unqualified-id before 'default' [closed]

I am trying to write a basic program to show the use of default constructors. This is my code below;

class Fraction
{
private:
    int m_numerator;
    int m_denominator;

public:
    Fraction() // default constructor
    {
         m_numerator = 0;
         m_denominator = 1;
    }

    int getNumerator() { return m_numerator; }
    int getDenominator() { return m_denominator; }
    double getValue() { return static_cast<double>(m_numerator) / m_denominator; }
};

#include <iostream>

int main()
{
    Fraction default; // Since no arguments, calls Fraction() default constructor
    std::cout << default.getNumerator() << "/" << default.getDenominator() << '\n';

    return 0;
}

I am getting an error message in the main program saying, 'expected unqualified-id before 'default' I think I am missing something simple, but I can't spot it!

like image 223
FrankWhite Avatar asked Nov 30 '25 03:11

FrankWhite


2 Answers

default is a keyword in C++; you must not use it as an identifier. Pick a different name.

like image 111
Kerrek SB Avatar answered Dec 01 '25 15:12

Kerrek SB


You can't name your variables default. Re-name your variable to something else.

like image 26
Tarik Neaj Avatar answered Dec 01 '25 17:12

Tarik Neaj



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!