+ 5
push_back() method of C++ Vector is (probably) causing strange error
Hi ! Here is my code: https://code.sololearn.com/cm4K03Hu3YC7/#cpp In my code, I've defined a class Test which has only one member named `num`. It also has two constructors. But, when I tried to create an array of Test objects using C++ Vectors, it gave me the following error: "error: binding 'const Test' to reference of type 'Test&' discards qualifiers" And, to be honest with you, the error statement went over my head. Could someone please help me? EDIT: this code is basically a minimal verifiable version of my project
4 Réponses
+ 6
Test(const Test& t): num(t.num){
//cpy-ctor
}
copy constructor is a class member by default, it has access to private members. ;)
+ 4
Test(const Test& t)....
Push_back calls copy constructor and its implementation wants const
+ 4
@AZTECCO, yes that's what I'd tried. But, the problem is I'm making a project in which I have private members instead of public ones and there I've deployed "getters" and "setters".
For example: https://code.sololearn.com/cg1lUu29iIP4/#cpp (modified)
Sorry, for the incomplete code.
So, now I've a different error here, which I suppose is due to the "setters" on const object. Is it so?
+ 1
rv7 @Learn_on_the_Web you should add const modifier for getters to be able use it on const objects.
https://code.sololearn.com/c7q6izCv01fi/?ref=app