• Вопрос специалистам по GCC и темплейтам C++

    @evgeniyup Автор вопроса
    Спасибо за помощь, ситуация решена. В сущности имелось две проблемы:

    1. template <> static int run внутри шаблонного класса
    2. использование __cdecl, __stdcall и т.п. — это пришлось вообще убрать для GCC, __attribute__((cdecl)) и т.п. не помогло
    Ответ написан
    Комментировать
  • Вопрос специалистам по GCC и темплейтам C++

    @evgeniyup Автор вопроса
    Вывод показать конечно можно:
    c:/sources/cocos2d-os/modules/objectscript/source/objectscript.cpp(3) : from c:/sources/cocos2d-os/modules/objectscript/source/os-binder-function.h(474): error : explicit specialization in non-namespace scope 'struct OS_FunctionClassImpConst0__cdecl<R, T>' c:/sources/cocos2d-os/modules/objectscript/source/os-binder-function.h(475): error : template-id 'run<void>' in declaration of primary template c:/sources/cocos2d-os/modules/objectscript/source/os-binder-cc-functions.h(35) :In file included from c:/sources/cocos2d-os/modules/objectscript/source/os-binder-arg-cc-functions.h(35) : from c:/sources/cocos2d-os/modules/objectscript/source/os-binder.h(589) : from c:/sources/cocos2d-os/modules/objectscript/source/objectscript.cpp(3) : from c:/sources/cocos2d-os/modules/objectscript/source/os-binder-function.h( In constructor 'OS_FunctionClassImpConst0__cdecl<R, T>) ::OS_FunctionClassImpConst0__cdecl(const char*, int)': c:/sources/cocos2d-os/modules/objectscript/source/os-binder-function.h(460): error : class 'OS_FunctionClassImpConst0__cdecl<R, T>' does not have any field named 'f' c:/sources/cocos2d-os/modules/objectscript/source/os-binder-function.h( In static member function 'static int OS_FunctionClassImpConst0__cdecl<R, T>) ::run(ObjectScript::OS*, int, int, int, void*)': c:/sources/cocos2d-os/modules/objectscript/source/os-binder-function.h(465): error : 'OS_E_ERROR' was not declared in this scope c:/sources/cocos2d-os/modules/objectscript/source/os-binder-function.h(465): error : 'OS' has not been declared c:/sources/cocos2d-os/modules/objectscript/source/os-binder-cc-functions.h(35) :In file included from c:/sources/cocos2d-os/modules/objectscript/source/os-binder-arg-cc-functions.h(35) : from c:/sources/cocos2d-os/modules/objectscript/source/os-binder.h(589) : from c:/sources/cocos2d-os/modules/objectscript/source/objectscript.cpp(3) : from c:/sources/cocos2d-os/modules/objectscript/source/os-binder-function.h(468): error : 'F' was not declared in this scope
    и т.д.

    Напомню, под студией проблемы нет.
    Ответ написан
    Комментировать