gpt4 book ai didi

c++ - c++中有事件吗?

转载 作者:太空宇宙 更新时间:2023-11-04 11:31:32 24 4
gpt4 key购买 nike

在我的情况下,最简单的答案是 .net 风格的事件。尽管我从未在 C++ 中使用过事件,但我的印象是它甚至没有任何事件。无论如何,我找到了这个 msdn 页面:http://msdn.microsoft.com/en-us/library/ee2k0a7d.aspx并尝试按照其示例添加

[event_source(native)] 

我的类(class)名列前茅

__event void fileChanged(std::wstring fileName); 

作为公共(public)成员,但它不会编译并给我错误“无法在需要对象展开的函数中使用 __try”,我什至不知道它是什么意思或 __try 与任何事情有什么关系(因为我如果那是它所指的,则该类中没有任何 try block )。对象展开?哇。

最佳答案

您的 MSDN 页面告诉您 C++ 中有事件。该页面上的示例编译并正常工作。这让我认为您尝试设置的特定事件存在问题。

所以接下来我要做的是查看 MSDN 页面中的错误:C2712

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

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

关于c++ - c++中有事件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24599289/

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