невозможно использовать c++amp в сравнении с 2017 годом

Я пытался использовать C++ amp в Visual Studio 2017, но компилятор сказал "ошибка C3564", и я попробовал старый код (который работал в Visual Studio 2015), и он сказал то же самое. Поддерживает ли Visual Studio 2017 усилитель С++?

#include "stdafx.h"
using namespace concurrency;
int main(void){
    int size;
    scanf_s("%d", &size);
    array_view<int, 1> a(1);
    parallel_for_each(extent<1>(1),
    [=](index<1> &idx) restrict(amp)
    {
        a(idx) = size;
    });
}

приведенный выше код вызовет проблему.


person Lee SongUn    schedule 21.03.2017    source источник
comment
Покажите код пожалуйста..   -  person Ashwin Golani    schedule 21.03.2017
comment
@AshwinGolani Я нашел часть, где возникает ошибка.   -  person Lee SongUn    schedule 21.03.2017


Ответы (1)


просто добавил файл amp.h, и приведенный выше код скомпилировался.

Я также работаю над другим проектом с C++AMP в сравнении с 2017 годом, и он работает нормально.

#include "stdafx.h"
#include <amp.h>

using namespace concurrency;

int main(void) {
    int size;
    scanf_s("%d", &size);
    array_view<int, 1> a(1);
    parallel_for_each(extent<1>(1),
        [=](index<1> &idx) restrict(amp)
    {
        a(idx) = size;
    });
}
person Yaron Bental    schedule 16.08.2017
comment
Да, это была ошибка в VS, и они исправили ее в более позднем выпуске. Ссылка - person Lee SongUn; 29.09.2019