Форум программистов, компьютерный форум CyberForum.ru

синтаксическая ошибка - C++

Восстановить пароль Регистрация
 
Rodriges1
0 / 0 / 0
Регистрация: 21.08.2013
Сообщений: 3
03.09.2013, 17:05     синтаксическая ошибка #1
Где здесь ошибка?
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
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <iostream>
#include <iterator>
#include <algorithm>
#include <vector>
 
using namespace std;
 
template<typename T>
class Sum{
public:
    Sum(T colection)
    {
        count = colection.size();
        sum = 0;
        for(T::iterator i = colection.begin(); i != colection.end(); ++i)
            sum += *i;
    }
    double getSum()
    {
        if(!sum)
            return 0;
        return static_cast<double>(sum) / static_cast<double>(count);
    }
    void operator(double& elem)
    {
        elem += getSum();
    }
private:
    int count;
    double sum;
};
 
int main()
{
    vector<double> arr;
    for(int i = 0; i < 10; i++)
        arr.push_back(rand()%10);
    copy(arr.begin(),arr.end(),ostream_iterator<double>(cout," "));
    cout << endl;
 
    double max = *max_element(arr.begin(),arr.end());
    cout<<"Max element: "<<max<<endl;
    vector<double>::iterator min = min_element(arr.begin(),arr.end());
    cout<<"Min element: "<<*min<<endl;
    arr.erase(min);
    Sum<vector<double> > sum(arr);
    for_each(arr.begin(),arr.end(),sum);
    copy(arr.begin(),arr.end(),ostream_iterator<double>(cout," "));
    cin.get();
    cin.get();
    return 0;
}
Oшибки:
Кликните здесь для просмотра всего текста
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
1>------ Построение начато: проект: lab1, Конфигурация: Debug Win32 ------
1>Построение начато 03.09.2013 16:02:47.
1>InitializeBuildStatus:
1>  Обращение к "Debug\lab1.unsuccessfulbuild".
1>ClCompile:
1>  main.cpp
1>c:\users\андрей\documents\visual studio 2010\projects\lab1\lab1\main.cpp(24): error C2544: требуется ")" для оператора "()"
1>          c:\users\андрей\documents\visual studio 2010\projects\lab1\lab1\main.cpp(31): см. ссылку на создание экземпляров класса шаблон при компиляции "Sum<T>"
1>c:\users\андрей\documents\visual studio 2010\projects\lab1\lab1\main.cpp(24): error C2144: синтаксическая ошибка: перед "double" требуется ";"
1>c:\users\андрей\documents\visual studio 2010\projects\lab1\lab1\main.cpp(24): error C2182: (): недопустимое использование типа "void"
1>c:\users\андрей\documents\visual studio 2010\projects\lab1\lab1\main.cpp(24): error C2059: синтаксическая ошибка: )
1>c:\users\андрей\documents\visual studio 2010\projects\lab1\lab1\main.cpp(25): error C2473: elem: выглядит как определение функции, но без списка параметров.
1>c:\users\андрей\documents\visual studio 2010\projects\lab1\lab1\main.cpp(26): error C2143: синтаксическая ошибка: отсутствие ";" перед "+="
1>c:\users\андрей\documents\visual studio 2010\projects\lab1\lab1\main.cpp(26): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
1>c:\users\андрей\documents\visual studio 2010\projects\lab1\lab1\main.cpp(26): error C2238: непредвиденные лексемы перед ";"
1>c:\users\андрей\documents\visual studio 2010\projects\lab1\lab1\main.cpp(28): error C2143: синтаксическая ошибка: отсутствие ";" перед "private"
1>c:\users\андрей\documents\visual studio 2010\projects\lab1\lab1\main.cpp(24): error C2544: требуется ")" для оператора "()"
1>          c:\users\андрей\documents\visual studio 2010\projects\lab1\lab1\main.cpp(46): см. ссылку на создание экземпляров класса шаблон при компиляции "Sum<T>"
1>          with
1>          [
1>              T=std::vector<double>
1>          ]
1>c:\users\андрей\documents\visual studio 2010\projects\lab1\lab1\main.cpp(24): error C2144: синтаксическая ошибка: перед "double" требуется ";"
1>c:\users\андрей\documents\visual studio 2010\projects\lab1\lab1\main.cpp(24): error C2182: (): недопустимое использование типа "void"
1>c:\users\андрей\documents\visual studio 2010\projects\lab1\lab1\main.cpp(24): error C2059: синтаксическая ошибка: )
1>c:\users\андрей\documents\visual studio 2010\projects\lab1\lab1\main.cpp(25): error C2473: elem: выглядит как определение функции, но без списка параметров.
1>c:\users\андрей\documents\visual studio 2010\projects\lab1\lab1\main.cpp(26): error C2143: синтаксическая ошибка: отсутствие ";" перед "+="
1>c:\users\андрей\documents\visual studio 2010\projects\lab1\lab1\main.cpp(26): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
1>c:\users\андрей\documents\visual studio 2010\projects\lab1\lab1\main.cpp(26): error C2238: непредвиденные лексемы перед ";"
1>c:\users\андрей\documents\visual studio 2010\projects\lab1\lab1\main.cpp(28): error C2143: синтаксическая ошибка: отсутствие ";" перед "private"
1>
1>СБОЙ построения.
1>
1>Затраченное время: 00:00:00.84
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========


Добавлено через 1 минуту
Вот я дурак! Уже нашел ошибку!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.09.2013, 17:05     синтаксическая ошибка
Посмотрите здесь:

Синтаксическая ошибка C++
Синтаксическая ошибка!)) C++
C++ Наверное синтаксическая ошибка
C++ Синтаксическая ошибка в функции
C++ Синтаксическая ошибка
C++ синтаксическая ошибка
C++ Синтаксическая ошибка
Первая программа, синтаксическая ошибка C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
03.09.2013, 17:56     синтаксическая ошибка #2
C++
1
2
3
4
5
6
7
8
9
10
11
template<typename T>
class Sum{
    typedef typename T::const_iterator const_iter;
public:
    Sum(const T& colection)
    {
        count = colection.size();
        sum = 0;
        for (const_iter i = colection.begin(); i != colection.end(); ++i)
            sum += *i;
    }
Yandex
Объявления
03.09.2013, 17:56     синтаксическая ошибка
Ответ Создать тему
Опции темы

Текущее время: 15:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru