小编bak*_*r14的帖子

结构体成员的默认值

(我确定这个问题已经得到回答,我只是不确定用什么词来提问。如果有人能告诉我正确的术语是什么,那就太棒了!)

我正在HashSetC++ 中为数据结构类实现 a ,我有一个关于 C++ 语法的问题。这是我的代码:

struct HashNode
{
    T value;
    HashNode* next = nullptr;
};
Run Code Online (Sandbox Code Playgroud)

这段代码会正确初始化next指向nullptr何时new HashNode被调用的指针吗?如果不是,nextafter的值是new HashNode多少?

c++ initialization initializer c++11

5
推荐指数
1
解决办法
3891
查看次数

CefSharp ChromiumWebBrowser将初始化并加载传递给构造函数的页面,但调用MyBrowser.Load("URL")会返回一个空白屏幕

如果我将网站传递给浏览器构造函数,如:

ChromiumWebBrowser MyBrowser = new ChromiumWebBrowser("www.google.com");
Run Code Online (Sandbox Code Playgroud)

谷歌将加载.但是,在初始化浏览器后,调用

MyBrowser.Load("Example.com");
Run Code Online (Sandbox Code Playgroud)

给出一个空白屏幕.我有与FrameLoadEnd绑定的事件,当谷歌完成加载时会触发,但在调用Load之后根本不会触发,这意味着网页甚至没有在屏幕外加载.

我花了很长时间研究这个问题,但我找不到解决方案.我已经通过NuGet下载了软件包,安装了VC 2012 Redistributable,初始化了CefSettings,切换到x86等等.我不知道我做错了什么,除了可能误解了这个方法的用法.我也可能没有将正确的文件复制到我的输出目录,但我的所有引用都有CopyLocal = True.

值得注意的是,我的浏览器是以编程方式实现的,而不是被拖放到WinForms Designer中.这对我的代码来说非常必要,因为我有大量的浏览器爬行网页并向用户显示页面,因此需要可靠的加载方法.

以下是我的release文件夹中的debug.log示例,经过编辑以删除过多的重复项:

[0826/130205:WARNING:resource_bundle.cc(304)] locale_file_path.empty()
...
[0826/131439:WARNING:resource_bundle.cc(304)] locale_file_path.empty()
[0826/134434:ERROR:renderer_main.cc(212)] Running without renderer sandbox
...
[0826/135650:ERROR:renderer_main.cc(212)] Running without renderer sandbox
[0826/135658:ERROR:ipc_channel_win.cc(136)] pipe error: 109
[0826/135921:ERROR:renderer_main.cc(212)] Running without renderer sandbox
...
[0826/135921:ERROR:renderer_main.cc(212)] Running without renderer sandbox
[0826/135933:ERROR:ipc_channel_win.cc(378)] pipe error: 109
[0826/135933:ERROR:ipc_channel_win.cc(412)] pipe error: 232
[0826/140141:ERROR:renderer_main.cc(212)] Running without renderer sandbox
...
[0826/140141:ERROR:renderer_main.cc(212)] Running without renderer sandbox
[0826/140148:ERROR:ipc_channel_win.cc(412)] pipe error: 232
Run Code Online (Sandbox Code Playgroud)

c# winforms cefsharp

4
推荐指数
1
解决办法
1万
查看次数

如何在抽象类中声明任何类型的数组(从给定类型派生)?

我不确定我的问题是什么正确的英语单词,所以我认为最好在代码中说明它.我有一个基本的,抽象的Windows窗体类,我用它来创建许多用于类似目的的派生Windows窗体.在我们将调用的抽象基类中,Alfred我有一个类型的数组Buddy.有时候,当我想继承时Alfred,我也想要Buddy使用特定于新派生形式的一些功能来覆盖类AlfredJunior.

所以,在类的定义中Alfred:

protected Array<Buddy> importantArray;
Run Code Online (Sandbox Code Playgroud)

我想要的AlfredJunior是这个:

private class BuddyJunior : Buddy
{
    public int newField;
    // Constructors omitted
}
protected Array<BuddyJunior> importantArray;
Run Code Online (Sandbox Code Playgroud)

我希望定义的方法Alfred能够访问和使用元素,importantArray就像它们是类型一样Buddy,而不是BuddyJunior.但是我只需要BuddyJunior在继承的表单中添加一些额外的功能(一个额外的字段)AlfredJunior.这是怎样的正确方法?

c# inheritance

3
推荐指数
1
解决办法
3515
查看次数

标签 统计

c# ×2

c++ ×1

c++11 ×1

cefsharp ×1

inheritance ×1

initialization ×1

initializer ×1

winforms ×1