gpt4 book ai didi

c++ - 错误 : default argument given for parameter after previous specification

转载 作者:太空狗 更新时间:2023-10-29 23:28:21 25 4
gpt4 key购买 nike

这里的任务对我来说非常简单,我不确定为什么这会给我带来问题,我只是让两个模型类尝试在它们的方法中没有任何逻辑的情况下使用已经提供给我的 header 和声明进行编译。老实说,这只是一个剪切和粘贴的工作,但我仍然遇到了这个爱情金 block -

cbutton.cpp:11:44: error: default argument given for parameter 4 of ‘cio::CButton::CButton(const char*, int, int, bool, const char*)’ [-fpermissive]
cbutton.h:7:5: error: after previous specification in ‘cio::CButton::CButton(const char*, int, int, bool, const char*)’ [-fpermissive]
cbutton.cpp:11:44: error: default argument given for parameter 5 of ‘cio::CButton::CButton(const char*, int, int, bool, const char*)’ [-fpermissive]
cbutton.h:7:5: error: after previous specification in ‘cio::CButton::CButton(const char*, int, int, bool, const char*)’ [-fpermissive]
cbutton.cpp:19:41: error: default argument given for parameter 1 of ‘void cio::CButton::draw(int)’ [-fpermissive]
cbutton.h:11:10: error: after previous specification in ‘virtual void cio::CButton::draw(int)’ [-fpermissive]
cbutton.cpp:53:29: error: ‘virtual’ outside class declaration

这是我正在处理的文件。一如既往地谢谢大家!

#include "cfield.h"

namespace cio{
class CButton: public CField{

public:
CButton(const char *Str, int Row, int Col,
bool Bordered = true,
const char* Border=C_BORDER_CHARS);
virtual ~CButton();
void draw(int rn=C_FULL_FRAME);
int edit();
bool editable()const;
void set(const void* str);
};
}




#include "cbutton.h"

namespace cio {

CButton::CButton(const char *Str, int Row, int Col,
bool Bordered = true,
const char* Border=C_BORDER_CHARS){

}

void CButton::draw(int rn=C_FULL_FRAME){

}

int CButton::edit(){

return 0;
}

bool CButton::editable()const {

return false;
}

void CButton::set(const void* str){

}

virtual CButton::~CButton(){

}
}

最佳答案

您在函数定义中指定了一个默认参数,而它们在类声明中已经有一个默认参数。 您可以在类声明或函数定义中声明默认参数,但不能同时声明两者。

编辑: 错过了错误的结尾:error: ‘virtual’ outside class declaration。这是一个相当明显的编译器错误:virtual 关键字属于类声明,而不是函数定义。只需将其从析构函数的定义中删除即可。

更正来源:

namespace cio {  

CButton::CButton(const char *Str, int Row, int Col,
bool Bordered, // No default parameter here,
const char* Border){ // here,

}

void CButton::draw(int rn){ // and here

}

CButton::~CButton(){ // No virtual keyword here

}
}

关于c++ - 错误 : default argument given for parameter after previous specification,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13295530/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com