Помогите Исправить Ошибку

Тема в разделе "C/C++/C#", создана пользователем julia9311, 1 июл 2012.

  1. julia9311

    julia9311 New Member

    Регистрация:
    1 июл 2012
    Сообщения:
    0
    Симпатии:
    0
    Код (Text):
    #include <iostream>
    #include <conio.h>
    using namespace std;

    template< typename T >
    T sumF()
    {
    T s=0;
    for(i=0,j=b;i<c;i++,j++)
    s+=a[i][j];
    return s;
    }

    template< typename T >
    T maxx(T s, T max)
    {
    return(T max<T s)?T s:T max;
    }
    int main()
    {  

    int a[10][10];
    int i=0, j=0, n=10, m=10, sum=0, max=0, b=n-1, c=1;
    int *p;
    p=new int[n*m];

    cout<<"Vvedite elementi massiva\n";

    for(i=0; i<n; i++)
    {
    for(j=0; j<m; j++)
    {
    cout<<"a["<<i<<"]["<<j<<"]= ";
    cin>>a[i][j];
    }
    }

    while(b)
    {
    max=maxx(sumF(), max);
    c++;
    --b;
    }


    getch();
    return 0;
    }
    выдает ошибку в этой строке

    Код (Text):
    max=maxx(sumF(), max);
    Ошибка: error C2783: 'T __cdecl sumF(void)' : could not deduce template argument for 'T'
     
  2. rrrFer

    rrrFer Well-Known Member
    Команда форума C\C++ Team

    Регистрация:
    6 сен 2011
    Сообщения:
    1.324
    Симпатии:
    36
    тут очень дохрена ошибок. Править нечего, надо все удалить и писать заново.
    Код (Text):
    template< typename T >
    T sumF(){
    T s=0;
    for(i=0,j=b;i<c;i++,j++)
    s+=a[i][j];
    return s;
    }
    компилятор ничего не знает о типе переменных i,j,b,c.
    значение переменной b и c используется, но откуда оно возьмется?
    функция sumF вообще ничего не знает о массиве a, он, наверное, должен быть глобальным?

    Код (Text):
     return(T max<T s)?T s:T max;
    Тут пытались приводить типы? - даже я не понял, компилятор точно не догадается

    Там шаблону функции, вызывается как-то так:
    Код (Text):
    max=maxx(sumF<int>(), max);
    Почитать о шаблонах можно тут: http://pro-prof.com/archives/677

    А еще у вас память бежит, надо где-то освободить.
     
Загрузка...
Похожие Темы - Помогите Исправить Ошибку
  1. kirkl
    Ответов:
    1
    Просмотров:
    1.158
  2. Rpp
    Ответов:
    1
    Просмотров:
    812
  3. victory
    Ответов:
    0
    Просмотров:
    966
  4. victory
    Ответов:
    0
    Просмотров:
    791
  5. victory
    Ответов:
    3
    Просмотров:
    1.332

Поделиться этой страницей