Как сохранить std::mdspan?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как сохранить std::mdspan?

Сообщение Anonymous »

Если я хочу сохранить экземпляр std::mdspan в структуре для передачи функции, есть ли способ сделать это без преобразования клиентской функции в шаблон?В этой демонстрации кода:
#include
#include
#include

int* dummy;

struct Container {
decltype(std::mdspan(dummy, 0, 0)) array2d;
};

void foo(Container cont) {
std::cout в Контейнере вообще.
Замена decltype на
std::mdspan array2d;

не работает с:
Z:/compilers/msvc/14.41.33923-14.41.33923.0/include\mdspan(1075): error C2903: 'mapping': symbol is neither a class template nor a function template
Z:/compilers/msvc/14.41.33923-14.41.33923.0/include\mdspan(1075): note: the template instantiation context (the oldest one first) is
(6): note: see reference to class template instantiation 'std::mdspan' being compiled
Z:/compilers/msvc/14.41.33923-14.41.33923.0/include\mdspan(1159): note: see reference to class template instantiation 'std::_Mdspan_mapping_base' being compiled
with
[
_Extents=int,
_LayoutPolicy=int
]
etc...


Подробнее здесь: https://stackoverflow.com/questions/791 ... -stdmdspan
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»