2008-08-18

CnceptGCCでコンパイルできない疑問なコード

ConceptGCCでは、以下のコードがコンパイルできない。

auto concept Addable<typename T, typename U = T>
{
    typename result_type;
    result_type operator+(T, U);
}

何故だろう。ひょっとしたら、Associated typeはメンバ関数にしか使えないのかもと思ったが、現行のドラフト規格には、

Associated functions describe functions, member functions, or operators (including templates thereof)(14.9.1.1.1)

An associated type specifies a type in a concept body. Associated types are typically used to express the parameter and return types of associated functions.(14.9.1.2.2)

とあるので、Associated functionに使えることになる。そしてAssociated functionはメンバ関数限定ではない。どうなっているのだろう。

追記、後で試したらコンパイルできた。どこか文法間違いでもあったのだろうか。

No comments:

Post a Comment

You can use some HTML elements, such as <b>, <i>, <a>, also, some characters need to be entity referenced such as <, > and & Your comment may need to be confirmed by blog author. Your comment will be published under GFDL 1.3 or later license with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.