我在下面有这段代码:
在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标志。有关此错误的任何建议吗?我找不到任何解决方案。