是否可以实现自己的强制转换规则并使编译器给出警告而不是错误?
我目前正在使用 SFML(如果你不知道也没关系),它有一个简单的 Vector2 结构,如下所示:
template <typename T>
struct Vector2 {
Vector2<T>(T,T);
T x,y;
}
现在我经常使用它,并且想为此结构设置自定义转换规则,因为我无法修改源代码。我目前有一个需要 a 的函数Vector2<int>
,但是我使用的函数返回 aVector2<unsigned int>
并且编译器似乎无法将一个转换为另一个,这有点奇怪。
我知道我可以使用演员表(和static_cast
作品),但对于像这样的简单转换来说似乎有点过于复杂,而且有点愚蠢,因为这个我无法测试我的程序。所以我可能正在寻找的是可以设置此类强制转换规则的编译器命令。