-1

基本的に、「これから共有を有効にする」部分を除いて、うまく機能する可変クラスがあります。

template <typename S>
class Test;

template <typename... Args>
class Test < void( Args...)>: 

        public std::enable_shared_from_this
        < Test< void(Args...)> >
{

    public:
        std::shared_ptr< Test< void( Args...)>> getptr();

};

template <typename... Args>
std::shared_ptr< Test< void( Args...)>>  Test < void( Args...)>::getptr(){
    return shared_from_this(); // error here!
}

次のエラーが表示されます。

there are no arguments to 'shared_from_this' that depend on a template parameter, 
so a declaration of 'shared_from_this' must be available [-fpermissive]
4

2 に答える 2