- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 IDE 中使用 Embarcader C++Builder 10.4.2 和 Clang32 编译器来构建 VCL Windows 32 位应用程序。
当我使用旧的“Classic”编译器时,我曾经为我自己的 TColor
常量使用 ()
初始值设定项。但是 Clang32 编译器不接受这个。 Clang32 确实接受相同的初始化值,但使用 C++ 17(我认为更早){}
初始化器。
感谢 Remy 的建议:我应该在我的原始帖子中包含错误消息。 Clang32编译器报错信息为:
[C++ Error] Unit1.cpp(15, 13): cannot initialize a variable of type 'const System::Uitypes::TColor' with an rvalue of type 'int'
我不明白为什么 Clang32 不喜欢 ()
初始化语法。谁能解释一下?
附上代码示例:
#include <vcl.h>
const TColor MeterBarBezelRimColour{0x00DDDDDD}; // works with Clang32 - (too "modern" for Classic compiler)
const TColor AnotherBezelRimColour(0x00CCCCCC); // give an error with Clang32 (but does work for Classic compiler).
// WHY is this not accepted by Clang?
最佳答案
Direct initialization不允许使用 (..)
从 int
初始化 enum
。
从 C++17 开始:
list_initialization允许使用 {..}
从 int
初始化 enum
:
Otherwise, if T is a enumeration type that is either scoped or unscoped with fixed underlying type, and if the braced-init-list has only one initializer, and if the conversion from the initializer to the underlying type is non-narrowing, and if the initialization is direct-list-initialization, then the enumeration is initialized with the result of converting the initializer to its underlying type.
Clang 接受 {..}
(C++17 起)并拒绝 (..)
构造是正确的。
你的“经典”编译器在这方面是错误的(C++17 之前,它应该拒绝两者)。
关于c++ - TColor Initialise with int 适用于 {} 但不适用于 (),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66562464/
我正在使用 JvInspector 来编辑我的类的属性。 TColor 属性在 JvInspector 编辑器中显示为“clRed”等,并且很乐意接受类似输入的颜色名称。我真的想要与 TFont 旁边
希望是一个简单的问题,但我找不到答案。我正在使用 Delphi TColor 并且某些颜色值为负值。这有记录吗?我需要做一些颜色转换,例如到 RGB。 例如:Label.Color=-16777188
IDE 对象检查器通过下拉 ColorBox 显示 TColor 属性,并且可以按图形单元中定义的名称 - clBlack 等选择颜色。问题是图形单元中定义的 clWeb 颜色不存在,并且我定义的任何
我正在创建一个 Delphi 表单,并希望在运行时为其分配背景颜色。这段代码: Form1.Color := clSkyBlue; 效果很好。我的问题是我已将颜色名称作为字符串存储在表中。因此,当我从
我正在模拟(尽可能)一个 TPopup 菜单,以便它可以 float 并且用户可以拖动它。 为此,它采用自己的形式,并使用 TPanel 充当可点击的 TMenuItem。 我正在使用 TPanels
delphi 有 RTL 函数将 TColor 转换为 COLORREF ,如果不是,我如何将 TColor 转换为 COLORREF? 最佳答案 检查Graphics.ColorToRGB功能。 C
我在 IDE 中使用 Embarcader C++Builder 10.4.2 和 Clang32 编译器来构建 VCL Windows 32 位应用程序。 当我使用旧的“Classic”编译器时,我
我有一个整数列表,通过 C++ 代码获得并代表不同的 D3DCOLORVALUE 环境等... 在 Delphi 中从这个数字获得相同颜色的正确方法是什么? 例如,使用 C++ (Visual Stu
我有一些颜色似乎来自 Delphi TColor 变量(例如 8388608、128、12632256)。我需要使用 PHP 脚本将这些颜色转换为它们的 rgb 值。这如何在 PHP 中完成? 最佳答
这些数字存储在数据库中。它们源自 Delphi 代码。尽管我假设他们遵循某种标准。我试过 Color.FromArgb(255); 但我知道第一个是红色(在 delphi 方面),而在 ASP.NET
我需要将颜色传递给接受基数的 GetRValue。但是,TColor 是整数,有时会出现范围检查错误。如果颜色为负值,我是否应该将其修剪为 0? 最佳答案 负值表示您正在将 clWindow 等特殊颜
我有一个波长(x 轴)和强度(y 轴,采用可以具有不同范围的任意单位的(光谱剖面)数据集...) 我想将此数字数据转换为图形 View ,如下图底部所示。 但是,我从未在 Delphi (2010)
我正在尝试创建和 Emgu Image并且似乎无法正确指定 TColor为了我的形象。到目前为止,我已经将我的图像从一个文件加载到 .Net 中 Image .我现在正在尝试执行以下操作以将该图像转换
缺少Image.FindContours方法,使用最新的3.0版Emgu CV。 (我想这不是唯一的) 我在哪里可以找到它们? 更新: 我想在 C# 下完成同样的事情 Mat edges; //fro
我在图像处理项目中使用Emug cv Version = 3.3.0.2824。 之后,我想使用Emug cv的其他版本,所以我使用了Version = 2.2.1.1150。 所以我删除了旧版本(V
我是一名优秀的程序员,十分优秀!