Knowee
Questions
Features
Study Tools

/home/ubuntu/Main.cpp:24:15: error: expected ‘)’ before ‘id’ 24 | dvd(String id,int days) : Item(id,days){} | ~ ^~~ | )/home/ubuntu/Main.cpp: In function ‘int main()’:/home/ubuntu/Main.cpp:46:17: error: no matching function for call to ‘dvd::dvd(std::string&, int&)’ 46 | dvd d(did,dd); | ^/home/ubuntu/Main.cpp:21:7: note: candidate: ‘dvd::dvd(const dvd&)’ 21 | class dvd : public Item | ^~~/home/ubuntu/Main.cpp:21:7: note: candidate expects 1 argument, 2 provided/home/ubuntu/Main.cpp:21:7: note: candidate: ‘dvd::dvd(dvd&&)’/home/ubuntu/Main.cpp:21:7: note: candidate expects 1 argument, 2 provided/home/ubuntu/Main.cpp:49:23: error: ‘m’ was not declared in this scope 49 | d.calculatefees()+m.calculatefees(); | ^

Question

/home/ubuntu/Main.cpp:24:15: error: expected ‘)’ before ‘id’ 24 | dvd(String id,int days) : Item(id,days){} | ~ ^~~ | )/home/ubuntu/Main.cpp: In function ‘int main()’:/home/ubuntu/Main.cpp:46:17: error: no matching function for call to ‘dvd::dvd(std::string&, int&)’ 46 | dvd d(did,dd); | ^/home/ubuntu/Main.cpp:21:7: note: candidate: ‘dvd::dvd(const dvd&)’ 21 | class dvd : public Item | ^~~/home/ubuntu/Main.cpp:21:7: note: candidate expects 1 argument, 2 provided/home/ubuntu/Main.cpp:21:7: note: candidate: ‘dvd::dvd(dvd&&)’/home/ubuntu/Main.cpp:21:7: note: candidate expects 1 argument, 2 provided/home/ubuntu/Main.cpp:49:23: error: ‘m’ was not declared in this scope 49 | d.calculatefees()+m.calculatefees(); | ^

...expand
🧐 Not the exact question you are looking for?Go ask a question

Solution

The error messages you're seeing are due to a few issues in your C++ code:

  1. In your dvd class constructor, you're missing a closing parenthesis. It should look like this: dvd(String id,int days) : Item(id,days){}.

  2. You're trying to create an instance of dvd with two arguments (did and dd), but your dvd class doesn't have a constructor that takes two arguments. You need to define a constructor in your dvd class that takes two arguments.

  3. The variable m is not declared in your main function. You need to declare it before you can use it.

Here's how you can fix these issues:

class dvd : public Item {
public:
    dvd(String id, int days) : Item(id, days) {} // Fix the constructor
};

int main() {
    String did = "some id";
    int dd = 5;
    dvd d(did, dd); // Now this line will work

    // Declare m before using it
    // Assuming m is another instance of dvd or a class that has a calculatefees() method
    dvd m("another id", 7);
    d.calculatefees() + m.calculatefees();
}

Please replace "some id" and "another id" with actual ids and 5 and 7 with actual number of days. Also, make sure that Item class has a constructor that takes two arguments (id and days) and calculatefees() method is implemented in Item or dvd class.

This problem has been solved

Similar Questions

/home/ubuntu/Main.cpp:9:29: error: ISO C++ forbids declaration of ‘item’ with no type [-fpermissive] 9 | item(string id,int days) : itemid(id),daysoverdue(days){} | ^/home/ubuntu/Main.cpp: In member function ‘int Item::item(std::string, int)’:/home/ubuntu/Main.cpp:9:33: error: only constructors take member initializers 9 | item(string id,int days) : itemid(id),daysoverdue(days){} | ^~~~~~/home/ubuntu/Main.cpp:9:62: warning: no return statement in function returning non-void [-Wreturn-type] 9 | item(string id,int days) : itemid(id),daysoverdue(days){} | ^/home/ubuntu/Main.cpp: In constructor ‘book::book(std::string, int)’:/home/ubuntu/Main.cpp:15:44: error: no matching function for call to ‘Item::Item(std::string&, int&)’ 15 | book(string id,int days) : Item(id,days) {} | ^/home/ubuntu/Main.cpp:3:7: note: candidate: ‘Item::Item()’ 3 | class Item | ^~~~/home/ubuntu/Main.cpp:3:7: note: candidate expects 0 arguments, 2 provided/home/ubuntu/Main.cpp:3:7: note: candidate: ‘Item::Item(const Item&)’/home/ubuntu/Main.cpp:3:7: note: candidate expects 1 argument, 2 provided/home/ubuntu/Main.cpp:3:7: note: candidate: ‘Item::Item(Item&&)’/home/ubuntu/Main.cpp:3:7: note: candidate expects 1 argument, 2 provided/home/ubuntu/Main.cpp: At global scope:/home/ubuntu/Main.cpp:24:15: error: expected ‘)’ before ‘id’ 24 | dvd(String id,int days) : Item(id,days){} | ~ ^~~ | )/home/ubuntu/Main.cpp: In constructor ‘magazine::magazine(std::string, int)’:/home/ubuntu/Main.cpp:33:46: error: no matching function for call to ‘Item::Item(std::string&, int&)’ 33 | magazine(string id,int days):Item(id,days){} | ^/home/ubuntu/Main.cpp:3:7: note: candidate: ‘Item::Item()’ 3 | class Item | ^~~~/home/ubuntu/Main.cpp:3:7: note: candidate expects 0 arguments, 2 provided/home/ubuntu/Main.cpp:3:7: note: candidate: ‘Item::Item(const Item&)’/home/ubuntu/Main.cpp:3:7: note: candidate expects 1 argument, 2 provided/home/ubuntu/Main.cpp:3:7: note: candidate: ‘Item::Item(Item&&)’/home/ubuntu/Main.cpp:3:7: note: candidate expects 1 argument, 2 provided/home/ubuntu/Main.cpp: In function ‘int main()’:/home/ubuntu/Main.cpp:46:25: error: no matching function for call to ‘dvd::dvd(std::string&, int&)’ 46 | dvd d(id,daysoverdue); | ^/home/ubuntu/Main.cpp:21:7: note: candidate: ‘dvd::dvd()’ 21 | class dvd : public Item | ^~~/home/ubuntu/Main.cpp:21:7: note: candidate expects 0 arguments, 2 provided/home/ubuntu/Main.cpp:21:7: note: candidate: ‘dvd::dvd(const dvd&)’/home/ubuntu/Main.cpp:21:7: note: candidate expects 1 argument, 2 provided/home/ubuntu/Main.cpp:21:7: note: candidate: ‘dvd::dvd(dvd&&)’/home/ubuntu/Main.cpp:21:7: note: candidate expects 1 argument, 2 provided/home/ubuntu/Main.cpp:49:23: error: ‘m’ was not declared in this scope 49 | d.calculatefees()+m.calculatefees(); | ^

/home/ubuntu/Main.cpp:22:5: error: expected unqualified-id before ‘delete’ 22 | int delete(){ | ^~~~~~/home/ubuntu/Main.cpp: In function ‘int main()’:/home/ubuntu/Main.cpp:72:13: error: ‘insert’ was not declared in this scope 72 | insert(item); | ^~~~~~/home/ubuntu/Main.cpp:75:63: error: expected primary-expression before ‘)’ token 75 | printf("Element deleted from queue is :%d",delete()); | ^

Line 11: Char 24: error: no member named 'second' in 'std::map<char, int>' 11 | if(mpp.second()==1){ | ~~~ ^

/home/ubuntu/Main.cpp:3:15: error: expected unqualified-id before ‘int’ 3 | char register(int weight, double height) { | ^~~/home/ubuntu/Main.cpp:3:15: error: expected ‘)’ before ‘int’ 3 | char register(int weight, double height) { | ~^~~ | )/home/ubuntu/Main.cpp: In function ‘int main()’:/home/ubuntu/Main.cpp:30:16: error: expected primary-expression before ‘register’ 30 | category = register(weight, height); | ^~~~~~~~

home/ubuntu/Main.cpp: In function ‘int main()’:/home/ubuntu/Main.cpp:60:13: error: ‘exit’ was not declared in this scope 60 | exit(0); | ^~~~

1/1

Upgrade your grade with Knowee

Get personalized homework help. Review tough concepts in more detail, or go deeper into your topic by exploring other relevant questions.