undefined ссылка на ` WinMain @ 16 '

Используя математику в ссылке блога John Cook,

    public static long IntPower(int x, short power)
    {
        if (power == 0) return 1;
        if (power == 1) return x;
        // ----------------------
        int n = 15;
        while ((power <<= 1) >= 0) n--;

        long tmp = x;
        while (--n > 0)
            tmp = tmp * tmp * 
                 (((power <<= 1) < 0)? x : 1);
        return tmp;
    }           

для обращения к возражению, что код не будет работать при изменении типа питания, хорошо... не принимая во внимание точку, что любой, кто изменяет код, они не понимают и затем используют его без тестирования.....
, но решать проблему, эта версия защищает глупое от той ошибки... (Но не от несметного числа других они могли бы сделать), ПРИМЕЧАНИЕ: не протестированный.

    public static long IntPower(int x, short power)
    {
        if (power == 0) return 1;
        if (power == 1) return x;
        // ----------------------
        int n = 
            power.GetType() == typeof(short)? 15:
            power.GetType() == typeof(int)? 31:
            power.GetType() == typeof(long)? 63: 0;  

        long tmp = x;
        while (--n > 0)
            tmp = tmp * tmp * 
                 (((power <<= 1) < 0)? x : 1);
        return tmp;
    }

Также попытка этот рекурсивный эквивалент (медленнее, конечно):

    public static long IntPower(long x, int power)
    {
        return (power == 0) ? x :
            ((power & 0x1) == 0 ? x : 1) *
                IntPower(x, power >> 1);
    }
103
задан John Dibling 10 October 2012 в 11:38
поделиться

1 ответ

Проверка, что Все Файлы Включены в Ваш Проект:

у меня было это то же ошибочное всплывающее окно после того, как я обновил cLion. После часов лужения я заметил, что один из моих файлов не был включен в цель проекта. После того, как я добавил его назад к активному проекту, я прекратил получать неопределенную ссылку на winmain16 и скомпилированный код.

Редактирование: также стоит проверить настройки сборки в Вашем IDE.

(Не уверенный, если эта ошибка связана с тем, что недавно обновила IDE - могло бы быть причинным или просто коррелятивным. Не стесняйтесь комментировать с любым пониманием тот фактор!)

0
ответ дан 24 November 2019 в 04:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: