次の 2 つのメソッドを C++ で定義し、実行時に混同されるリスクなしに使用することは安全ですか?
void map(float (&a)[10], const double (&b)[6]);
void map(float (&a)[10], const double (&b)[3]);
また
void map(double (&a)[6], const float (&b)[10]);
void map(double (&a)[3], const float (&b)[10]);
それらは正常にコンパイルされるので、署名は異なるはずであり、すべてがうまくいくと考えました。ただし、現在メモリの問題が発生しているため、確認したいと思います。