ここでこのコードがコンパイルされない理由はよくわかりません。 dist(GenericVec2<T>,GenericVec3<T>)
(これはかもしれしかし恐ろしい): そうのようなdistの()を呼び出すことが可能であるべきです。 GenericVec3引数は、変換演算子によって暗黙的にGenericVec2に変換されます。 私はここ C++ implicit type conversion
struct A {
int i;
};
struct B {
A a;
operator A*() { return &a; }
};
int main(int argc, char *argv[])
{
B b;
return b->i;
}
g++は なぜerror: base operand of ‘->’ has
参照渡し変換/型キャスト演算子を(CONSTない)ことが可能である: class TestA
{
public:
//Needs to be a const return
template<typename TemplateItem>
operator TemplateItem&() const {TemplateItem A; A = 10; r