+ 1
why showing this error in codeblocks?
||=== Build: Debug in Composition (compiler: GNU GCC Compiler) ===| C:\Users\noman\Desktop\My C++ codes for learning\Composition\Birthday.cpp|3|error: redefinition of 'Birthday::Birthday(int, int, int)'| C:\Users\noman\Desktop\My C++ codes for learning\Composition\Birthday.h|9|note: 'Birthday::Birthday(int, int, int)' previously defined here| ||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
1 Odpowiedź
+ 1
It says that you're re-defining the definition of a constructor. You could be doing this.
class A() {
public:
A(int m, int d, int y);
};
A::A(int m, int d, int y) {
// some code
}
// here your redefining it again
// this is causing the error.
A::A(int m, int d, int y) {
// some code
}
if you're trying to overload then you should remember that there has to be a change in the type of params or in the number of params. or the methods be declared as constant and non-constant.