Tôi có lớp cơ sởOverride từ khóa ném một lỗi khi biên dịch
template<typename T>
Class Base {
Base();
public:
virtual void myfunc()=0;
}
Tôi đã có nguồn gốc lớp
template<typename T>
Class Derived: public Base<T> {
Derived():Base() {
}
public:
void myfunc() override;
}
Khi tôi biên dịch g++ -std=c++0x
, tôi nhận được lỗi với chức năng trọng đánh dấu, error: expected ‘;’ at end of member declaration
error: ‘override’ does not name a type
phiên bản g ++ là 4.6.
Tôi nghĩ rằng bạn cần phải xác định 'myfunc' là 'myfunc()' trong lớp cơ sở của bạn, nếu không ghi đè là ill- hình thành. – maditya
xin lỗi, lỗi đánh máy khi đang nhập câu hỏi – user592748