在模板参数上的'>'标记之前的预期primary-expression

时间:2018-02-15 13:05:07

标签: c++ variadic-templates c++17

我在下面有这段代码:

在component_storage类中:

keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android 
组件类中的

    template < typename T, typename... Args >
    T& append( int index, Args&&... args )
    {
        grow();
        T* result = (T*)m_data + m_size - 1;
        construct_object<T>( result, std::forward<Args>( args )... );
        if ( m_indices )
            m_indices[ m_size - 1 ] = index;
        return *result;
    }

我在main中调用add_component,如下所示:

    template < typename Component, typename ...Args >
    Component& add_component( handle h, Args&&... args )
    {
        component_interface* ci = get_interface<Component>();
        auto* cs = get_storage<Component>();
        int i = ci->m_index->insert( h );
        assert( i == int( cs->size() ) && "Fail!" );
        return cs->append<Component>( h.index, std::forward<Args>( args )... );
    }

问题是我得到了这两个错误:

    game_ecs e;
    e.register_component< position >();
    e.register_system< position_system >();

    handle being = e.create();
    e.add_component< position >( being, 3, 4 );

我在Linux下使用g ++ 7.2进行编译,启用了C ++ 17标志。有关此错误的任何建议吗?我找不到任何解决方案。

0 个答案:

没有答案