Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.75
Eitii
0 / 0 / 0
Регистрация: 24.09.2012
Сообщений: 8
#1

Пишет function does not take arguments при любых аргументах - C++

06.11.2012, 20:08. Просмотров 2420. Ответов 6
Метки нет (Все метки)

Подскажите почему не вызываеться функция, ни g = riadki::kol();
ни j = riadki::revers(char a,int len); ?
пишет function does not take arguments при любых аргументах

сам вызов внизу находиться

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
riadki::riadki()
{
    
    cout<<"\nvvedite  bukvi : ";
            gets(c);
        
        
}
int riadki::kol(){
     int k=0;
     
for(int i=0;i<strlen(c);i++)
    if(c[i]=='A') k++;
cout<<k;
    
    
return 0;
 
}
int riadki::revers(char a,int len ){
     
    
      len = strlen(c);
    
    for (int i=0; i<(len-1)/2; i++)
    {
        a = c[i];
        c[i] = c[len-1-i];
        c[len-1-i] = a;
    }
 
    
   
    return 0;
}
ostream & operator<< ( ostream & ou, const riadki & oj ) // working
{   
    
    int w,c, j, g;
 
 
    
    c = strlen(oj.c);
    
    w=c; 
    
    
    g = riadki::kol();
    j =  riadki::revers(char a,int len); //вызов функ
     
    ou << "RESULT:>" << endl;
    
    
    for(int i = 0; i < w; i++)
    {   
        if(i % 5 == 0 && i != 0)
        {
            ou << '+';          
        }       
        ou << oj.c[i]; 
    } cout<<"\n"<<oj.g;
    ou << "Perevernutue simvolu:\n" << oj.j << endl;
    
    return ou;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.11.2012, 20:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Пишет function does not take arguments при любых аргументах (C++):

задача с++, при любых числах пишет true! - C++
//Сумма двух первых цифр заданного четырехзначного числа //равна сумме двух его последних цифр. #include&lt;iostream.h&gt; ...

Function does not take 0 arguments - C++
Доброго времени суток! Задали написать программу (Найдите объём правильной треугольной призмы, все ребра которой равны a. Вычислить...

Too few arguments to function - C++
Доброго времени суток! Возникла проблема при компиляции кода, собственно на скриншотах ниже, никак не могу ничего придумать, подскажите...

Too few arguments to function. Почему? - C++
Здравствуйте! Есть программа, которая при компиляции вываливается с ошибкой. Нужно эту ошибку найти. #include &lt;iostream&gt; #include...

Ошибка Function does not take 1 arguments - C++
Помогите пожалуйста устранить ошибки: Error 6 error C2660: 'vivod_massiva1' : function does not take 1 arguments d:\..\base.cpp 125 ...

gcc не компилирует: too many arguments to function - C++
Building file: ../main.cpp Invoking: GCC C++ Compiler g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF&quot;main.d&quot; ...

6
Sor
35 / 35 / 0
Регистрация: 24.11.2011
Сообщений: 309
06.11.2012, 20:59 #2
Цитата Сообщение от Eitii Посмотреть сообщение
C++
1
j = riadki::revers(char a,int len); //вызов функ
это не вызов. в вызове не нужно тип указывать, его указали уже в объявлении.
C++
1
j = riadki::revers(a,b);
вот вызов. для параметров а и b

Добавлено через 2 минуты
Цитата Сообщение от Eitii Посмотреть сообщение
C++
1
2
3
4
5
6
int riadki::revers(char a,int len )
{ len = strlen(c); 
for (int i=0; i<(len-1)/2; i++) 
{ a = c[i]; c[i] = c[len-1-i]; 
c[len-1-i] = a; } 
return 0; }
функция int всегда 0 возвращает, думаю это не правильно. если не нужно ничего возвращать пиши void а не int.
1
Eitii
0 / 0 / 0
Регистрация: 24.09.2012
Сообщений: 8
06.11.2012, 22:03  [ТС] #3
Цитата Сообщение от Sor Посмотреть сообщение
Код C++
1
j = riadki::revers(a,b);
вот вызов. для параметров а и b
там не определяет тип при вызове функции, не понимает оно что за переменные при вызове функции



подчеркивает клас функции тоесть слово riadki там где вызов функции и пишет a nonstatic member reference must be relative to a specific object

что делать ?
0
Sor
35 / 35 / 0
Регистрация: 24.11.2011
Сообщений: 309
06.11.2012, 22:20 #4
а как задается сам класс рядки?
0
Eitii
0 / 0 / 0
Регистрация: 24.09.2012
Сообщений: 8
06.11.2012, 22:47  [ТС] #5
Цитата Сообщение от Sor Посмотреть сообщение
а как задается сам класс рядки?
вот клас рядки
C++
1
2
3
4
5
6
7
8
9
10
11
class riadki
{
public:
    char c[50];
int w,j, k;
void revers();
void kol();
riadki();
 
friend ostream &operator<< ( ostream & ou, const riadki & oj );
};
реверс строки применяеться везде, для всех функций, вызов никак не выходит этой функции в положеном месте

поставил воид вообщем вышло так
C++
1
2
3
4
5
6
7
8
9
10
11
12
void riadki::revers(){
     
    
     int len = strlen(c);
    
    for (int i=0; i<(len-1)/2; i++)
    {
       char a = c[i];
        c[i] = c[len-1-i];
        c[len-1-i] = a;
        
    }

сейчас пишет типо nonstatik member reference must be relative to a specific object
0
Sor
35 / 35 / 0
Регистрация: 24.11.2011
Сообщений: 309
07.11.2012, 21:39 #6
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
class riadki
    {
public:
char c[50];
int w,j,k;
void revers(char a, int len);
void show(riadki r);
riadki(); 
friend ostream &operator<< ( ostream & ou, const riadki & oj );
    };
 
riadki::riadki()     //к-р
{
    cout<<"\nvvedite  bukvi : ";
            gets(c);
};
void show()
{
 cout<<"  ";
};
 
void riadki::revers(char a,int len)
{
    len = strlen(c);
for (int i=0; i<(len-1)/2; i++) 
    {
    a = c[i]; c[i] = c[len-1-i];
    c[len-1-i] = a;
    }
};
виртуальные функции работают только для указателей и ссылок.
1
Kuzia domovenok
2030 / 1874 / 168
Регистрация: 25.03.2012
Сообщений: 6,451
Записей в блоге: 1
07.11.2012, 21:52 #7
Эта функция - метод класса. Пожалуйста, брось на время изучать операторы, френды и прочее. И вернись к самым простым примерам использования объектов классов: вызову методов, изменению полей.
Определись, что такое класс, что такое экземпляр(объект) класса.
1
07.11.2012, 21:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.11.2012, 21:52
Привет! Вот еще темы с ответами:

Почему не компилируется? (too few arguments to function) - C++
Здравствуйте у меня не компилируеться программа (dev сборщик ) пишет 7 C:\Documents and Settings\Titrik\Ðàáî÷èé ñòîë\loctmn.cpp too few...

No overloaded function takes 3 arguments - C++
#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;vector&gt; #include &lt;algorithm&gt; #include &quot;conio.h&quot; //поиск информации в телефонной...

too few arguments to function. почему так происходит? - C++
всем привет, помогите разобраться с ошибкой #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;iostream&gt; #include &lt;iomanip.h&gt; ...

Ошибка C2660: 'ChildMATRIX::print2' : function does not take 0 arguments - C++
#include &quot;childmatrix.h&quot; #include &quot;matrix.h&quot; #include &lt;iostream&gt; // для потоков ввода-вывода на консоль #include &lt;fstream&gt; //...


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

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

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