OpenCV ライブラリには、
typedef const _InputArray& InputArray;
私たちのコードには、次の関数定義があります。
void wimshow(const String& winName, InputArray &img) {
これをコンパイルすると、次のエラーが発生します。
error: cannot declare reference to 'cv::InputArray {aka const class cv::_InputArray&}'
void wimshow(const String& winName, InputArray &img) {
奇妙なことに、このエラーは Cray 環境で GCC 4.8.1 を使用した場合にのみ発生します。GCC 4.8.1 を使用した通常の Linux 環境でのコンパイルは、エラーなしで動作します。
一見したところ、参照型への参照はとにかくあまり意味がないと思いますが、何が異なるコンパイラの動作を引き起こすのか興味があります!?