问题标签 [vc10]
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.
c++ - 枚举窗口不工作
我正在创建一个 dll 文件。
我的代码:
然后我就打电话test()
。
在日志中,titlas
为空并且代码停止。
当我在带有 CodeBlock 的 Win32 应用程序中尝试此代码时,一切正常,所有标题都显示。但是在dll中,它不起作用。
哪里有问题?
visual-studio-2010 - 如何使用 VS10 构建提升
我在使用 VC 编译 Boost 时遇到问题:错误:LNK1104:无法打开文件“libboost_regex-vc100-mt-gd-1_53.lib”
最有趣的是仅使用 VC10 编译器才能观察到该问题。MinGW 成功构建 Boost 正则表达式。
有人知道如何解决吗?
PS:我不能使用b2,bjam等,因为我已经使用bcp模块检索了boost regex的一部分,我需要使用VC10和CMake编译它。
c++ - 警告 C4481 在限定名称中使用的枚举“MyEnum”中使用了非标准扩展
我正在尝试从我正在处理的课程中删除警告。
警告如下:
警告 C4482:使用了非标准扩展:限定名称中使用了枚举“MyEnum”
我了解警告是由于尝试访问枚举中的值之一引起的,如下所示:
仅供参考: SomeFunc() 存在于 .cpp 文件中,但枚举在 C 头文件中声明。
所以我可以删除警告的一种方法是用 Value1 替换 MyEnum::Value1。但是,我更愿意使用 MyEnum::Value1 来引用枚举值,因为我喜欢它更明确。
因此,如果我只使用 C++,我可以像这样更改枚举:
但是枚举存在于 C 头文件中,因此我无法将枚举包装在命名空间中。我也无法将枚举移动到 C++ 头文件中,因为其他文件已经依赖于枚举。
我考虑的一种方法是将枚举包装在一个结构中:
这将允许我使用 MyEnum::Value1 访问值而不会发出警告。
但是,有没有更好的方法来实现这一点?
此外,我还遇到过枚举存在于 C++ 文件中但其作用域为类的情况:
我不想将它移出类,因为类提供了枚举的封装,但我也不能将枚举包装在命名空间中,因为类声明中不允许命名空间。在这种情况下是否有更好的方法来实现相同的行为 (MyEnum::Value1) 而不会发出相同的警告?
FYI2:我仅限于 vc10 允许的实现。