编译器错误 C2396
“your_type::operator'type'”:CLR 或 WinRT 用户定义的转换函数无效。 必须转换自或转换为:“T^”、“T^%”或“T^&”,其中 T =“your_type”
Windows 运行时或托管类型中的转换函数没有至少一个类型与包含转换函数的类型相同的参数。
下面的示例生成 C2396,并演示如何修复此错误:
// C2396.cpp
// compile with: /clr /c
ref struct Y {
static operator int(char c); // C2396
// OK
static operator int(Y^ hY);
// or
static operator Y^(char c);
};
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈