Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/137.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ c+中是否存在事件+;?_C++_Events_C++ Cli - Fatal编程技术网

C++ c+中是否存在事件+;?

C++ c+中是否存在事件+;?,c++,events,c++-cli,C++,Events,C++ Cli,我遇到的情况是,最简单的答案是.net风格的事件。我从未使用过C++中的事件,但印象中它甚至没有任何东西。不管怎样,我找到了这个msdn页面:并尝试按照它的示例添加 [event_source(native)] 在我班上名列前茅 __event void fileChanged(std::wstring fileName); 作为一个公共成员,但它不会编译,并给我错误“不能在需要对象展开的函数中使用uu-try”,我甚至不知道它的意思,或者u-try与任何事情有什么关系(因为我在类中没有

我遇到的情况是,最简单的答案是.net风格的事件。我从未使用过C++中的事件,但印象中它甚至没有任何东西。不管怎样,我找到了这个msdn页面:并尝试按照它的示例添加

[event_source(native)] 
在我班上名列前茅

__event void fileChanged(std::wstring fileName); 

作为一个公共成员,但它不会编译,并给我错误“不能在需要对象展开的函数中使用uu-try”,我甚至不知道它的意思,或者u-try与任何事情有什么关系(因为我在类中没有任何try块,如果它所指的是这样的话)。和对象展开?你的MSDN页面告诉你C++中有事件。该页面上的示例编译并正常工作。这使我认为,您试图设置的特定事件存在问题

因此,接下来我要做的是查看MSDN页面以查找错误:

此页说明,当使用
\u event
关键字并按值传递参数时,可能会发生此错误(有关确切说明,请参阅链接)。实际上,将调用更改为常量引用会导致错误消失:

__event void fileChanged(const std::wstring& filename);

不,第一位并没有这样的概念,但有几个标准机制提供了很容易建立这样的。嗯。。。也许只是尝试将
std::wstring
更改为
std::string
您可以尝试inotify API