问题标签 [pointer-to-member]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
245 浏览

windows - VisualC++ /vmg /vms 的 G++ 等价物

我想将应用程序的插件编译为动态库。通常,插件是用 VisualC++ 编译的,但我想用 G++。SDK 文档明确指出

在 C++ tab/C++ 语言 (/vmg /vms) 中,Pointer-to-member 表示的编译器选项必须设置为“General-Purpose Always”和“Point to Single-Inheritance Classes”。如果不设置插件立即崩溃!

事实上,只要我将值从插件传递到应用程序,它就会立即崩溃。/vmg /vms是否有任何选项导致与VisualC++中相同的行为?


平台:Windows 7 x64
编译器:MingW32 G++ 4.6.2

0 投票
2 回答
139 浏览

c++ - 函数指针重载错误?

我有以下定义和原型(它们是类的成员函数),我基本上尝试使用函数指针将不同类型的策略传递给 divideQuery 方法:

但是,当我尝试调用时(query参数是从包装函数传递的):

它失败并显示错误消息:

就我从网上阅读的内容而言,这似乎是一个重载错误(或者可能是其他错误),但无论如何我不太确定到底出了什么问题。任何提示/解释表示赞赏。

干杯

0 投票
1 回答
200 浏览

c++ - 对于哪些对象指针值,指向成员运算符的指针会调用未定义的行为?

使用指向成员运算符 (->*) 的指针时,对象的哪些指针值将调用未定义的行为?

具体来说,如果有问题的成员函数不访问任何成员并且不是虚拟的,则以下任何一个都是坏的?

  • 空指针
  • 指向已删除对象的指针

这个问题类似,但讨论了常规的成员函数调用。

用代码来说明:

关于未定义行为的问题是关于 C++ 标准的问题,所以我正在寻找对 C++ 标准部分的具体参考。

0 投票
2 回答
1956 浏览

c++ - C ++指向成员成员的指针?

假设我有两个类:

假设我还有一个函数,它接受 B 的指向成员整数的指针,如下所示:

有没有办法可以指向ref内部 B 的成员?

喜欢,int B::* ptr = &(B::ref.x)或者类似的东西?

0 投票
2 回答
589 浏览

c++ - 带有指向成员模板参数的指针的隐含类型?

我正在模板中使用指向成员类型的指针,目前我正在做这样的事情:

但是必须定义 Base、Type 和 Var,似乎有点多余,因为 Base 和 Type 隐含在 Var 的类型中。

有没有办法做到这一点,这样,当使用/调用成员结构时,它只需要使用单个指向成员参数的指针?就像,理论上,是这样的:

谢谢您的帮助!

0 投票
2 回答
96 浏览

c++ - 将成员变量的指针作为参数时出错;为什么?

为什么我在 Visual C++ 2010 中的此代码中不断收到以下错误,以及如何在保持成员变量的类型推断能力的同时修复它?

错误 C2825:'Foo<T>::value_type':必须是一个类或命名空间时跟'::'

0 投票
2 回答
537 浏览

c++ - 函数指针 - 编译时错误

我是函数指针的新手,希望得到您的帮助。我有一个方法:

然后在另一种方法(不是主要)中,我这样做:

从我读过的例子来看,这似乎没问题。但是,我得到一个编译时错误:

testFile.cpp:277:25: 错误:'int ({anonymous}::CheckingConsumer::)(int)' 类型的参数不匹配'int (*)(int)'</p>

我不明白出了什么问题。任何帮助,将不胜感激。

非常感谢。

0 投票
2 回答
2073 浏览

c++ - 检查一个类是否有带有 TMP 的复制构造函数

我一直在尝试使用一点 SFINAE 来确定泛型类型 T 是否具有我可以使用的复制构造函数。这是我目前所在的位置。

然而,这也是我有点卡住的地方。 &T::T(const T&)显然是一个无效的语句,因为我们不能提供一个带有指向成员的指针的参数列表,即使是一个 ptm 函数。我总是可以尝试指定某种void (T::*ptmf)(const T&) = &T::T,并希望它隐式地确定正确的重载构造函数以放入指向成员函数的指针中,但这也意味着构造函数具有特定的返回类型,我必须指定它。

还有其他人有什么想法可以让我继续前进吗?(我还需要应用类似的概念来检查赋值运算符。)

提前致谢。

0 投票
1 回答
113 浏览

c++ - 使用模板对象进行操作

免责声明我不允许使用 BOOST 或任何其他库,只能使用标准库。

在我的类Foo中,我有一个模板函数foo,它有两个参数:一个指向对象的指针和一个指向这个对象成员函数的指针。foo如您所见,该函数适用于任何类的指针。我不知道,什么类将传递给它。此函数创建模板结构的实例。

我的问题是:如何存储Bar, created in 的对象foo,以便以后可以遍历它们并像这样调用指向对象成员函数的指针:

0 投票
9 回答
291798 浏览

c++ - 如何在需要自由函数的地方传递成员函数?

问题如下:考虑这段代码:

如何使用a'saClass::test作为参数function1?我想访问班级的成员。