@olkhovich

Почему в codeblocks все успешно компилируется, а в visual studio выдает ошибку?

Простое задание на шаблоны функций
В visual studio 2019 подчеркивает последние 4 строчки и выдает ошибку
В чем проблема?
#include<iostream>

using namespace std;

template <typename Data>
void print(Data * a, int size)
{
    for(int i=0; i<size; i++)
    cout << a[i] << " ";
    cout << endl;
}
template <typename Data>
void swap(Data * a,Data * b)
{
    Data temp;
    temp=a;
    a=b;
    b=temp;
}
template<class Data>
void insertSort(Data *arr, long size)
{
    Data temp;
    long i, j;
    for (int i = 0; i < size - 1; i++)
    {
        for (int j = 0; j < size - i - 1; j++)
        {
            if (arr[j] < 0)
                if (arr[j] < arr[j + 1])
                {
                        // меняем элементы местами
                        temp = arr[j];
                        arr[j] = arr[j + 1];
                        arr[j + 1] = temp;
                }
                if (arr[j] > 0)
                    if (arr[j] > arr[j + 1])
                    {
                        // меняем элементы местами
                        temp = arr[j];
                        arr[j] = arr[j + 1];
                        arr[j + 1] = temp;
                    }
        }
        }
    }


int main()
{
    int a=10;
    float b[a]={2,1,4,5,3,-3,-1,-2,-4,-5};
    print(b,a);
    insertSort(b,a);
    print(b,a);
    return 0;
}
  • Вопрос задан
  • 150 просмотров
Решения вопроса 1
myjcom
@myjcom Куратор тега C++
а в visual studio выдает ошибку?

Variable-length arrays не поддерживается.
const int a = 10;
или используйте std::array или std::vector
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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