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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.63
Stesh
0 / 0 / 0
Регистрация: 30.04.2010
Сообщений: 27
#1

Использование своих функций, error C2601 - C++

31.07.2006, 16:13. Просмотров 2344. Ответов 5
Метки нет (Все метки)

Подскажите пожалуйста. У меня есть пара функций, есть для них прототипы, а компилер говорит, что неправильное определение функций, я сомтрела в мсдн по коду ошибки, но не разобралась.



Может я не туда прототипы сую?

У меня проект создан через MFC AppWizard; соответственно файлы myproj.cpp myproj.h myprojDlg.cpp myprojDlg.h

я прототипы в myprojDlg.h ставлю:
C++
1
2
3
int  dayInMonth(int numb_month, int year);
 
bool  checkvisokos(int god);
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
void CMyprojDlg::OnOK() 
 
{
 
UpdateData (TRUE);
 
int  dayInMonth(int numb_month, int year)
 
{    int dIm;
 
  switch(numb_month)
 
  { 
 
  case '1':{dIm=31; ;break; }
 
  case '2':{ if !(checkvisokos(year)) {dIm=28;}else {dIm=29;} break;}
 
  case '3':{dIm=31; break;}
 
  case '4':{dIm=30; break;}
 
  case '5':{dIm=31; break;}
 
  case '6':{dIm=30; break;}
 
  case '7':{dIm=31; break;}
 
  case '8':{dIm=31; break;}
 
  case '9':{dIm=30; break;}
 
  case '10':{dIm=31;break;}
 
  case '11':{dIm=30;break;}
 
  case '12':{dIm=31;break;}
 
  
 
  }
 
  return dIm;
 
 } 
 
bool  checkvisokos(int god)
 
{
 
if ( div(god,4).rem ==0) {return true;}else {return false;}
 
}
 
... 
 
int nM = currt.GetMonth(); 
 
int nY = currt.GetYear();
 
int dify=nY-dry;
 
int difm=nM-drm;
 
int difd=nD-drd;
 
...
 
if (difd 
.......
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.07.2006, 16:13     Использование своих функций, error C2601
Посмотрите здесь:

Error C2601: main: недопустимые локальные определения функций - C++
#include <iostream> #include <ctime> using namespace std; int dieroll (){ int chance=0; srand (time(NULL)); ...

error C2601: 'main' : local function definitions are illegal fatal error C1004: unexpected end of file found - C++
День добрый люди написал програму выдает 2 ошибки че не так подскажите error C2601: 'main' : local function definitions are illegal ...

Использование функций и шаблонов функций - C++
Составьте программу – формирование цены на молоко. Животновод в начале каждой зимы цену на молоко на р%, а каждым летом снижает на столько...

Использование функций и шаблонов функций - C++
Люди помогите пожалуйста буду очень благодарна) вобщем вот первая часть лабы Написать программу, функция main которой включает...

Ошибка C2601: 'too': local function definitions are illegal - C++
почему выдаёт ошибку и как её исправить? error C2601: 'too': local function definitions are illegal программа: //...

Использование функций - C++
Даны действительный числа a,b,c. Получить: (u+v2,3.14), где u=min(a,b), v=min(ab,a+b). Прошу любой помощи(будь то хороший сайт где я...

Использование функций. - C++
1. Определить натуральное число не больше заданного n с наибольшей суммой делителей. Использовать функцию вычисления суммы делителей...

Использование функций - C++
Здравствуйте! Помогите начинающему, который изучает тему "функции". Надо инициализировать массив и вывести его в консольное окно. Но в этом...

Использование функций! - C++
Задать значения целочисленным элементам матриц A = {aij}, B = {bij}, где i = 0, 1, 2,..., 5; j = 0, 1, 2, 3 и вычислить ...

Использование функций - C++
Здравствуйте. Помогите решить нижеследующую задачу. В данный момент нужно переделать данную задачу с использованием функций. Целый день...

Использование функций - C++
Даны три действительных числа x, y, z. Получить A= arccos((x^2+y^2-z^2)/(2xy)) - arccos(z^2*y/(x+z*y)) где arccos(a) = arctg...

Использование функций - C++
#include <iostream> #include <cstdlib> using namespace std; void drill(); int count; // count and num_right are global int...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vyacheslav
Сообщений: n/a
31.07.2006, 16:35     Использование своих функций, error C2601 #2
Один из вариантов ошибки описанный в MSDN : Code tries to define a function within a function. - код пытается определить функцию внутри функции, в C++ нельзя использовать вложенные функции. Вроде этот случай.
C++
1
2
3
4
5
6
7
8
9
void CMyprojDlg::OnOK() 
{
UpdateData (TRUE);
int dayInMonth(int numb_month, int year)
{
bool checkvisokos(int god)
{
....
}}}
Stesh
0 / 0 / 0
Регистрация: 30.04.2010
Сообщений: 27
31.07.2006, 16:41  [ТС]     Использование своих функций, error C2601 #3
понятно..спасибо.
Stesh
0 / 0 / 0
Регистрация: 30.04.2010
Сообщений: 27
31.07.2006, 19:03  [ТС]     Использование своих функций, error C2601 #4
ну вот...перенесла функции...закомпилилось, но теперь линковщик ругается:

error LNK2001: unresolved external symbol "public: int __thiscall CMyprojDlg::dayInMonth(int,int,bool)" (?dayInMonth@CMyprojDlg@@QAEHHH_N@Z)



и на вторую функцию тоже :-(
ftor
0 / 0 / 0
Регистрация: 14.06.2006
Сообщений: 9
31.07.2006, 20:13     Использование своих функций, error C2601 #5
есть ли уверена, что ф-я реализвана в виде:

int CMyprojDlg::dayInMonth(int numb_month, int year)

{

....

}



А то она может быть в виде:



int dayInMonth(int numb_month, int year)

{

....

}
Stesh
0 / 0 / 0
Регистрация: 30.04.2010
Сообщений: 27
31.07.2006, 20:40  [ТС]     Использование своих функций, error C2601 #6
Пасиб, разобралась, просто прототипы были не там.
Yandex
Объявления
31.07.2006, 20:40     Использование своих функций, error C2601
Ответ Создать тему
Опции темы

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