Форум программистов, компьютерный форум, киберфорум
C++/CLI
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
Alvin Seville
334 / 266 / 132
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 9
1

Ошибка no instance of function template "Swap" matches the argument list

10.12.2018, 21:54. Показов 3196. Ответов 5
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include "stdafx.h"
 
using namespace System;
using namespace System::Collections::Generic;
 
generic <typename T>
void Swap(T %x, T %y)
{
    T z = x;
    x = y;
    y = z;
}
 
generic <typename T>
void BubbleSort(IList<T> ^source, IComparer<T> ^comparer)
{
    bool isSwapped;
    for (int i = source->Count - 1; i > 0; i--)
    {
        isSwapped = false;
        for (int j = 0; j < i; j++)
            if (comparer->Compare(source[j], source[j + 1]) > 0)
            {
                Swap(source[j], source[j + 1]);
                isSwapped = true;
            }
        if (!isSwapped)
            break;
    }
}
 
int Main(array<String ^> ^args)
{
    array<int> ^a = { 3, 2, 1, 0 };
    BubbleSort(a, Comparer<int>::Default);
    for each (auto item in a)
        Console::Write("{0} ", item);
    return 0;
}
Ошибка
no instance of function template "Swap" matches the argument list
Как исправить?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.12.2018, 21:54
Ответы с готовыми решениями:

Ошибка компиляции "no instance of constructor "MemReader::MemReader" matches the argument list"
Добрый день. При написании класса поиска определённого процесса столкнулся с ошибкой: &quot;E0289 no...

Ошибка компиляции "no instance of constructor 'std::thread::thread' matches the argument list"
Не могу сообразить почему возникает ошибка. У меня в классе есть метод, который должен работать в...

Ошибка "no instance of function template"
В строках 210 и 214 возникает ошибка 7 IntelliSense: no instance of function template...

Ошибка: "function call missing argument list"
При компиляции программы выскакивает сообщение об ошибке: 1.error C3867:...

5
Alvin Seville
334 / 266 / 132
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 9
11.12.2018, 15:00  [ТС] 2
Вопрос актуален.
0
Эксперт .NET
16056 / 12066 / 3174
Регистрация: 17.09.2011
Сообщений: 20,116
11.12.2018, 15:50 3
Цитата Сообщение от Соколиный глаз Посмотреть сообщение
Как исправить?
Либо измените тип параметра source на array<T>, либо измените метод Swap, чтобы он принимал не адреса переменных, а, например, список и индексы.
Индексатор IList<T> возвращает не lvalue, так что передать по ссылке его результат не получится.
1
Alvin Seville
334 / 266 / 132
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 9
11.12.2018, 17:28  [ТС] 4
А почему нельзя так:
C++
1
(source[j], source[j + 1]) = (source[j + 1], source[j]);
? В C# же можно. Что мешает это сделать тут?
0
Эксперт .NET
16056 / 12066 / 3174
Регистрация: 17.09.2011
Сообщений: 20,116
11.12.2018, 18:56 5
Лучший ответ Сообщение было отмечено Соколиный глаз как решение

Решение

Цитата Сообщение от Соколиный глаз Посмотреть сообщение
Что мешает это сделать тут?
Другой язык с другим синтаксисом?
1
Alvin Seville
334 / 266 / 132
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 9
11.12.2018, 19:12  [ТС] 6
kolorotur, аналога такого кортежного присваивания нет?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.12.2018, 19:12
Помогаю со студенческими работами здесь

Ошибка "template argument 1 is invalid"
Приветствую! Слабое знание английского не помогло мне найти ответа на stackoverflow, поэтому...

Ошибка 'cannot determine which instance of overloaded function "exp" is intended'
Visual studio выдаёт ошибку 1 IntelliSense: cannot determine which instance of overloaded...

Ошибка: "Uncaught SyntaxError: missing ) after argument list"
Найти ошибку в коде script.js:3 Uncaught SyntaxError: missing ) after argument list...

Ошибка "List is not a template"
Всем привет. Я только начала изучать библиотеку stl и тут же столкнулась с проблемой, когда...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru