No arguments that depend on a template parameter
От: dipso  
Дата: 05.12.09 08:35
Оценка:
Перейдя с VS2005 на gcc4.4 обнаружил ,что в производных классах-шаблонах нельзя использовать напрямую нестатические методы не зависящие от параметра шаблона.Решение нашел здесь .И явное указание this меня не устраивает.Это что — в стандарте или как?Есть ли предложения по обходу надуманной проблемы не используя ключик -fpermissive.

Это код с указанного адреса для понятности:

Error:
template  class ComboMill
{
    // ...
    
    void SetMembership (bool iIsMember)
    {
        for (int i = 0; i < mMembership.size(); i++)
        {
            mMembership[i] = iIsMember;
        }
    }
    
    void First ()
    {
        // error on next line
        SetMembership (false);
    }

    // ...
};


Solution:
void First ()
    {
        // error on next line
        this->SetMembership (false);
    }

    // ...
};

в последней строчке вероятно комментарий уже лишний.

Может поэтому я частенько видел в шарповском коде все эти лишние this?
Может у кого есть ссылки на стандарт ,или хотя бы как это называется в стандарте.
Буду благодарен.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.