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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
#1

class и error C2352 - C++

18.12.2013, 13:52. Просмотров 637. Ответов 13
Метки нет (Все метки)

Помогите исправить. Ругается на
C++
1
std::cout<<"res"<<vector::resultzpr2(a,b);
В чем я неправильно делаю? Если еще какие косяки найдете, буду рада узнать.
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
53
54
55
56
57
#include <iostream>
class vector
{
public:
    vector()
    {
        vector::n = n;
        vector::data = (int*)calloc(n, sizeof(int));
        vector::getvector();
    }
    void getvector()
    {
        for (int i = 0; i < vector::n; i++)
        {
            std::cout << "input element";
            std::cin >> vector::data[i];
            std::cout << std::endl;
        }
    }
    int resultzpr2(vector a, vector b)
    {
        int mina = 99999;
        int minb = 99999;
        for (int i = 0; i < vector::n || i < vector::n; i++)
        {
            if (vector::data[i] < mina) mina = vector::data[i];
            if (vector::data[i] < minb)minb = vector::data[i];
        }
        int result = 1;
        if (mina>minb)
        {
            for (int i = 0; i < vector::n; i++)
            {
                if (vector::data[i]>0) result *= vector::data[i];
            }
        }
        else
        {
            for (int i = 0; i < vector::n; i++)
            {
                if (vector::data[i]>0) result *= vector::data[i];
            }
        }
        return result;
    }
private:
    int* data;
    int n;
};
void main()
{
    int n;
    std::cin >> n;
    vector a;
    vector b;
    std::cout<<"res="<<vector::resultzpr2(a, b);
}
Добавлено через 6 минут
И да, там может быть полный бред(
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2013, 13:52     class и error C2352
Посмотрите здесь:

class String, error lnk - C++
class String { friend std::istream&amp; operator&gt;&gt;(std::istream&amp;, String&amp;); // Функция ввода public: typedef...

Error C2259: cannot instantiate abstract class - C++
Всем добрый день. Создаю класс-наследник, переопределяю все виртуальные функции, но все равно ошибка &quot;error C2259: cannot instantiate...

error C2504: 'TwoDimentinalShape' : base class undefined - C++
Всем здравствуте, мой конкретный класс не видит свой абстрактный класс, может я что-то напутала, взгляните плиз свежим взглядом, а то я уже...

Не могу исправить error C2228: left of '.isWorked' must have class/struct/union - C++
Добрый день. Есть два взаимодружественных класса.Методом одного, меняю поля другого. Вот код: class Alarm; //класс сигнализации ...

error C2228: left of '.add' must have class/struct/union type. в чем ошибка? - C++
Помогите понять в чем ошибка. Пасиб. #include &lt;iostream.h&gt; class book { private: char name_book; char name_avtor; ...

Ошибка при компиляции "error C2088: <<: недопустимо для class" - C++
Доброго времени суток :) у меня при компиляции возникает ошибка 1&gt;main.cpp(493): error C2088: &lt;&lt;: недопустимо для class суть в том...

public class && static class - C++
Вообщем у меня небольшая связка, которую я хотел бы использовать в программе своей, но компилятор мне выдает ошибку и я не знаю что все...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
egor2116
339 / 370 / 42
Регистрация: 20.01.2013
Сообщений: 1,123
18.12.2013, 14:11     class и error C2352 #2
И да, там может быть полный бред(
Вот это ближе к истине )).
Напишите само задание, что нужно сделать.
monolit
185 / 184 / 22
Регистрация: 24.03.2011
Сообщений: 667
Завершенные тесты: 1
18.12.2013, 14:18     class и error C2352 #3
У тебя ж функция не статическая... надо сначала экземпляр создать, а потом вызывать от него. ну или сделай ту функцию static:
C++
1
static int resultzpr2(vector a, vector b)
BuGi
24 / 24 / 1
Регистрация: 02.01.2012
Сообщений: 371
18.12.2013, 14:18     class и error C2352 #4
C++
1
int resultzpr2(vector a, vector b)
Функция должна быть статическая
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
18.12.2013, 14:49  [ТС]     class и error C2352 #5
egor2116, произведение положительных элементов массива с минимальным элементом, используя класс.
monolit, я поняла, что не статическая, по коду ошибки видно, только вот в чем прикол статической и не статической функции, если вкратце?

Добавлено через 5 минут
Мда... и правда бред. Я знала!
BuGi
24 / 24 / 1
Регистрация: 02.01.2012
Сообщений: 371
18.12.2013, 14:57     class и error C2352 #6
Цитата Сообщение от Angeline Посмотреть сообщение
вот в чем прикол статической и не статической функции, если вкратце?
Статическую можешь вызывать class::method, а нестатическую только через созданный объект
egor2116
339 / 370 / 42
Регистрация: 20.01.2013
Сообщений: 1,123
18.12.2013, 15:18     class и error C2352 #7
произведение положительных элементов массива с минимальным элементом, используя класс.
Проясните ситуацию еще немного:
Можно использовать массив или для него нужно сделать класс-обвертку?(типа vector)
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
18.12.2013, 15:32  [ТС]     class и error C2352 #8
egor2116, ну массив написать собственным классом.
egor2116
339 / 370 / 42
Регистрация: 20.01.2013
Сообщений: 1,123
18.12.2013, 15:39     class и error C2352 #9
ну массив написать собственным классом.
Ожидайте, идет процесс создания программы.
))
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
18.12.2013, 15:54  [ТС]     class и error C2352 #10
egor2116,
C++
1
#define WATING_MODE_ON
egor2116
339 / 370 / 42
Регистрация: 20.01.2013
Сообщений: 1,123
18.12.2013, 16:14     class и error C2352 #11
Как то так
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#include <iostream>
 
typedef unsigned int uint;
 
namespace my
{
    class Vector
  {
    private:
            int * arr;
            uint SIZE;
    public:
           Vector(uint _SIZE = 5)
           {
             arr = new int[_SIZE];
             SIZE = _SIZE;
           }
           
           Vector(const Vector & v)
           {
             SIZE = v.size();
             arr = new int[v.size()];
             for(int i = 0; i < SIZE; ++i)
                arr[i] = v.getArray()[i];
           }
           
           int & operator [](uint index)
           {
             return arr[index];
           }
           
           int * getArray()const{ return arr; }
           uint size()const{ return SIZE; }
           uint lenght()const{ return SIZE; }
  };
  
  class Math
  {
    private:
            Math(){}
    public:
           static int max(Vector & arr)
           {
              int _max = arr[0];
              for(int i = 0; i < arr.size(); ++i)
                  if(_max < arr[i])
                     _max = arr[i];
              
              return _max;
           }
           
           static int min(Vector & arr)
           {
              int _min = arr[0];
              for(int i = 0; i < arr.size(); ++i)
                  if(_min > arr[i])
                     _min = arr[i];
                     
              return _min;
           }
           
           static bool positive(int var)
           {
              return var > 0;
           }
           
           static bool negative(int var)
           {
              return var < 0;
           }
           
           static int product(Vector & arr)
           {
              int prod = 0;
              int _min = Math::min(arr);
              for(int i = 0; i < arr.size(); ++i)
                 if(Math::positive(arr[i]))
                    prod += (arr[i] * _min);     
 
              return prod;
           }    
  };
  
 
}
 
int main()
{   
    my::Vector vec(10);
 
    for(int i = 0; i < vec.size(); ++i)
       vec[i] = i + 1;
    
    for(int i = 0; i < vec.size(); ++i)
       std::cout << vec[i] << " ";  
    std::cout << std::endl; 
       
    std::cout << my::Math::product(vec) << std::endl;
    system("PAUSE");
    return 0;
}
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
18.12.2013, 19:05  [ТС]     class и error C2352 #12
egor2116, а что такое uint?
S_el
2092 / 1599 / 306
Регистрация: 15.12.2013
Сообщений: 6,427
18.12.2013, 19:07     class и error C2352 #13
беззнаковый int
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2013, 19:09     class и error C2352
Еще ссылки по теме:

[ILINK32 Error] Error: Unresolved external - C++
помогите вылетает ошибка и программа из-за этого не работает! Error: Unresolved external '__fastcall...

build error [xxx.exe] error 1 - C++
Почему после компиляции dev-cpp выдает такую ошибку: D:\*****\Makefile.win Error 1 При компиляции в visual с все в порядке ...

Error LNK1120, Error LNK2019 - C++
Здравствуйте . У меня проблема с кодом . #include &quot;stdafx.h&quot; #include &lt;conio.h&gt; #include &lt;iostream&gt; #include &lt;fstream&gt; ...

error C4430, error C2143 - C++
error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию error C2143:...

Error C2059: syntax error : ']' - C++
Добрый день. Помогите пожалуйста разобраться с проблемой. Пишу программу, решающую систему линейных уравнений методом Крамера. Затруднение...


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

Или воспользуйтесь поиском по форуму:
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
18.12.2013, 19:09  [ТС]     class и error C2352 #14
А, все, разобралась, благодарю, очень познавательная программка)
Yandex
Объявления
18.12.2013, 19:09     class и error C2352
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru