Как записать станд.:: шаблон bitset, который работает над 32 и 64-разрядный

  1. Я думаю, вам нужно убедиться, что у вас есть файл package-lock.json в корневой папке.
  2. распакуйте загруженный файл, я думаю, что это должно быть «Node_modules», затем поместите эту папку в корневую папку вашего проекта.

Попробуйте снова запустить 'npm install'

Я надеюсь, что он подхватит

8
задан Tyler McHenry 14 March 2009 в 01:49
поделиться

3 ответа

Проблема не состоит в том, пишете ли Вы 8u или 8. Проблема имеет отношение к типу шаблонного параметра Вашего шаблона функции. Его тип должен соответствовать тому, используемому в объявлении std::bitset. Это size_t согласно Стандарту (раздел 23.3.5)

namespace std {
    template<size_t N> class bitset {
    public:
    // bit reference:
        ...

Исключением являются измерения массива, для которых можно использовать любой целый тип (даже bool - затем единственный размер, который может быть принят, 1 конечно):

// better size_t (non-negative), but other types work too
template<int N> void f(char(&)[N]);

Но в других случаях, типы должны соответствовать. Обратите внимание, что это только верно для автовыведенных аргументов шаблона, но не для явно заданных. Причина состоит в том, что для выведенных, компилятор пытается выяснить лучшее соответствие между фактическими аргументами шаблона и что это вывело от вызова до него. Много в других отношениях неявных преобразований запрещены затем. Вы имеете полный спектр в наличии преобразований при помещении явного аргумента (игнорирование решения использования size_t теперь высказывать мое мнение)

template<int N> void foo(std::bitset<N> bs)
{ /* whatever */ }

int main() {
    bitset<8> bar;
    foo<8>(bar); // no deduction, but full range of conversions
}
8
ответ дан 5 December 2019 в 15:26
поделиться

Использовать size_t. Так sayeth MSDN, по крайней мере.

3
ответ дан 5 December 2019 в 15:26
поделиться

числовой литерал должен быть интерпретирован как интервал, неважно, платформа

0
ответ дан 5 December 2019 в 15:26
поделиться
Другие вопросы по тегам:

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