expected primary-expression before '*'?

haynstyle

I have looked through all of these and am relatively new to coding c++ and just don't know what I am missing. Any idea's?

My error occurs at line 45 "return pi * (Radius * Radius);" I am almost positive that the syntax for that line is correct but why am i getting compile errors.

#include <iostream>
#include <cstdlib>

using namespace std;
const double pi = 3.14159;

class Rectangle
{
protected:
   float length, width;
public:
    Rectangle(): length(0), width(0)
    {
        cout<<"Enter length: "; cin>>length;
        cout<<"Enter width: "; cin>>width;
    }
};

class Circle
{
    protected:
    float Radius;
public:
    double radius;
    Circle(): Radius(0)
    {
        cout<<"Enter Radius: "; cin>>Radius;
    }
};

class Area : public Rectangle
{
public:
   float getArea()
     {
         return length*width;
     }
};

class Radius : public Circle
{
    public:
   float getRadius()
     {
         return pi * (Radius * Radius);
     }
};

int main()
{
char choice;
for (int i = 0; i < 4; i++)  //loop statement
{
cout << "Program to Find Area of a Square and Circle" << endl <<                         //selection of which calculation to run
        "Enter S for square square." << endl <<
        "Enter C for circle." << endl <<
        "Enter Q to Quit the program." << endl << endl <<
        "Enter an option above: ";
cin >> choice;

switch(choice)
    {
    //Square option:
    case 'S':
    case 's': {
        cout<<"Enter data for rectangle to find area.\n";
        Area a;
        cout<<"Area = "<<a.getArea()<<" square\n\n";
        break;}

    //Circle option:
    case 'C':
    case 'c': {
        cout<<"Enter data for circle to find radius.\n";
        Radius c;
        cout<<"Radius = "<<c.getRadius()<<" meter\n\n";
        break;}

    //Quit option:
    case 'Q':
    case 'q': {
        cout << "Thank you for using Area Application" << endl << endl;
        system("PAUSE");
        return EXIT_SUCCESS;
    break;}

    //default option binds to a non-selected choice function:
    default:
        cout << choice << " is not a valid selection." << endl;
        cout << "Select a valid shape choice: S or C" << endl << endl;
    break;
    }
}

cout << "Press enter to continue ..." << endl;
return EXIT_SUCCESS;
}

Thanks David

marcinj

Now I see you have a member in base class which has a name Radius which is the same as in derived class, this is what is causing an error. The solution is to qualify it with base class name:

change:

return pi * (Radius * Radius);

to:

return pi * (Circle::Radius * Circle::Radius);

this additonal: double radius; is probably from some testing - right?

[edit]

From design point of view the existance of class Radius : public Circle makes little sense, it should be fine to just use Circle to get its radious.

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

expected primary-expression before '*'?

From Dev

primary expression expected before token

From Dev

Expected primary expression before ';' token

From Dev

error: expected primary-expression before ‘int’

From Dev

Expected primary-expression before various tokens

From Dev

expected primary-expression before '!=' token

From Dev

error expected primary-expression before ';' token

From Dev

expected primary-expression before ‘const’ errors

From Dev

expected primary-expression before ‘>’ token

From Dev

Nested Templates: "expected primary-expression before ')'"

From Dev

error: expected primary-expression before ‘)’ token

From Dev

error: expected primary-expression before '>' token

From Dev

Expected primary-expression before '=' token

From Dev

expected primary-expression before '[' token

From Dev

error : expected primary expression before '.' token

From Dev

Expected primary expression before "else" DevC++

From Dev

error: expected primary-expression before ‘(’ token

From Dev

expected primary expression before int main()

From Dev

error: expected primary-expression before ‘if’

From Dev

error: expected primary-expression before '}' token

From Dev

expected primary-expression before ‘;’ token

From Dev

Error: expected primary expression before '.' token

From Dev

expected primary-expression before 'char'

From Dev

error: expected primary-expression before ')' token (C)

From Java

Cannot compile: error: expected primary-expression before '(' token

From Dev

Code Blocks C++ Error expected primary expression before enum

From Dev

C++ Error - expected primary-expression before '.' token|

From Dev

Expected primary expression before . when calling class function

From Dev

C++ error: expected primary-expression before ‘[’ token

Related Related

  1. 1

    expected primary-expression before '*'?

  2. 2

    primary expression expected before token

  3. 3

    Expected primary expression before ';' token

  4. 4

    error: expected primary-expression before ‘int’

  5. 5

    Expected primary-expression before various tokens

  6. 6

    expected primary-expression before '!=' token

  7. 7

    error expected primary-expression before ';' token

  8. 8

    expected primary-expression before ‘const’ errors

  9. 9

    expected primary-expression before ‘>’ token

  10. 10

    Nested Templates: "expected primary-expression before ')'"

  11. 11

    error: expected primary-expression before ‘)’ token

  12. 12

    error: expected primary-expression before '>' token

  13. 13

    Expected primary-expression before '=' token

  14. 14

    expected primary-expression before '[' token

  15. 15

    error : expected primary expression before '.' token

  16. 16

    Expected primary expression before "else" DevC++

  17. 17

    error: expected primary-expression before ‘(’ token

  18. 18

    expected primary expression before int main()

  19. 19

    error: expected primary-expression before ‘if’

  20. 20

    error: expected primary-expression before '}' token

  21. 21

    expected primary-expression before ‘;’ token

  22. 22

    Error: expected primary expression before '.' token

  23. 23

    expected primary-expression before 'char'

  24. 24

    error: expected primary-expression before ')' token (C)

  25. 25

    Cannot compile: error: expected primary-expression before '(' token

  26. 26

    Code Blocks C++ Error expected primary expression before enum

  27. 27

    C++ Error - expected primary-expression before '.' token|

  28. 28

    Expected primary expression before . when calling class function

  29. 29

    C++ error: expected primary-expression before ‘[’ token

HotTag

Archive