【发布时间】:2018-08-23 05:17:51
【问题描述】:
我在 Visual Studio 2017 中以本机模式使用 C++,并且我尝试编译和运行在 Debugging a Parallel Application in Visual Studio 找到的示例代码。 作为记录,我用 C 而不是 C++ 编程。当谈到方法声明(以及许多其他事情)时,我一无所知。我怀疑纠正错误很简单,但我根本不知道如何。
换句话说,我目前是 RTFineM。我只是复制并粘贴了上面 url 中给出的示例并遇到了 2 个问题。首先它抱怨某些东西被弃用了,但是一个简单的定义就解决了这个问题。其次,它抱怨无法将一种类型转换为标题中所述的另一种类型。
导致问题的RunFunc类声明如下:
class RunFunc
{
Func& m_Func;
int m_o;
public:
RunFunc(Func func,int o):m_Func(func),m_o(o)
{
};
void operator()()const
{
m_Func(m_o);
};
};
我的问题/要求是: RunFunc 的声明需要如何才能使示例正确编译和运行?
谢谢,非常感谢您的帮助。
【问题讨论】:
-
是的,MSDN 中的示例代码又被破坏了。最简单的解决方法是将
m_Func和func声明为Func *,并且根本不处理对函数的引用。 -
请发布
Func的定义方式。
标签: c++ pointers constructor reference type-conversion