gpt4 book ai didi

c++ - CppCMS 中的表单构建错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:58:17 25 4
gpt4 key购买 nike

我们在项目中包含登录表单时遇到问题。我们按照 http://cppcms.com/wikipp/en/page/cppcms_1x_forms 中的步骤进行操作

这是表单的定义:

struct SignInFormInfo : public cppcms::form {
/* Error 1 */ cppcms::widgets::text user_name;
/* Error 2 */ cppcms::widgets::password password;
cppcms::widgets::submit submit;

SignInFormInfo() {
user_name.message("User name");
password.message("Password");
submit.value("Sign in");

add(user_name);
add(password);
add(submit);

// Restrictions
user_name.limits(1, 31);
password.non_empty();
}
};

我们得到了这些构建错误:

错误 1:类型 'cppcms::widgets::text' 必须实现继承的纯虚方法 'cppcms::base_form::load'

错误 2:“cppcms::widgets::password”类型必须实现继承纯虚方法'cppcms::widgets::base_widget::render_input'

我们还在 cppcms 库“cppcms/form.h”和“booster/hold_ptr.h”关于变量“_data”是私有(private)的。

我们使用的是 1.0.3 版本的 CppCMS。

谢谢你的帮助

最佳答案

应该使用哪种“加载”方法?

来自“base_html_input”类的一个或来自“base_text”的一个。有两个名为“load”的方法来自不同的类(并且都派生自同一个类!),它们都是同一个类的基类。编译器根本不知道要使用哪个。最好的办法是实现你自己的“负载”。

widgets::text::load(param) //actually missing in CPPCMS
{
//wich one of the 2 methods has to be called.. or both have to be called?
base_html_input.load(param)
base_text input.load(param);
}

这可能是您正在使用的库的设计缺陷(除非在某个地方有一个“widgets::text”对象的工厂,它返回具有正确实现的对象,无论如何教程中的文章是错误的。)

关于c++ - CppCMS 中的表单构建错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14466262/

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