Re: Сборки MinGW(GCC-win32/win64) от niXman
От: GreyMan  
Дата: 06.10.12 21:05
Оценка:
Набрел на забавное поведение при попытке скормить std::function функции, отличающиеся соглашениями об вызове: (min-gw 4.7.0)
#include <functional>
void __stdcall fn1(){
}
void __cdecl fn2(){
}
int main()
{
        std::function< void()> fz1=std::bind(&fn1);
        std::function< void()> fz2=std::bind(&fn2);
}

Вылетает град ошибок.
И вот более минимальный код:
void __stdcall fn1(){
}
void __cdecl fn2(){
}
struct ICall{
};
template<class F> struct CCall:ICall{
};
template<class F> ICall* reg(F f){
    return new CCall<F>();
};
int main()
{
    reg(&fn1);
    reg(&fn2);
}

С ошибкой
Error: symbol `__Z3regIPFvvEEP5ICallT_' is already defined|
||=== Build finished: 1 errors, 0 warnings ===|
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.