Re: Странная ошибка компиляции (шаблоны)
От: PseudoSenior Украина  
Дата: 25.10.12 08:52
Оценка:
Привет. Стандарт не читал, не знаю. Но возможно чем-нибудь помогу.

Например, вот этот код скомпилируется думаю везде, хотя не знаю почему студия не компилит твой код(
она почему то считает что тип параметра который указан в объявлении не соответствует типу параметра, который используется в определении ) :

template <typename F>
class Container
{
public:
    class Iterator
    {
        typedef int (&MasInt) [F::Count];
        friend class Container<F>;
        Iterator(MasInt);
        MasInt values_;
    };
    Iterator begin()
    {
        return Iterator(values_);
    }
private:
    int values_[F::Count];
};

template <typename F>
Container<F>::Iterator::Iterator(MasInt values) : values_(values)
{
}

class SomeF
{
public:
    static const int Count = 10;
};
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.