Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> почему VC 6 не может найти описание класса 
:(
    Опции темы
yngwie19
  Дата 10.12.2008, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 15.6.2008
Где: Новгород

Репутация: нет
Всего: нет



Привет Всем, сталкнулся с такой проблемой. Когда в хэдере создаю класс и в конструкторе указываю аргументы по умолчанию, например:
Код

class Point(float = 0, float = 0) 
 
и описываю эту функцию в файле Point.cpp. Если мне хочется найти описание этой функции, Я через WizardBar для данного класса выбираю функцию Point, на что компилятор ругается "Cannot find the definition for this function". Если в прототипе не указывать аргументы по умолчанию, то все нормально. Не то чтобы это мешает, т.к все компилтся без проблем, но хочется понять. Нужно что в описании функции тоже писать нули для двух переменных float ? 

Хотя тоже самое   

Это сообщение отредактировал(а) yngwie19 - 10.12.2008, 20:05
PM MAIL   Вверх
mes
Дата 10.12.2008, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(yngwie19 @  10.12.2008,  20:04 Найти цитируемый пост)
    
class Point(float = 0, float = 0) 

а не подскажите что вобще это за чудо строчка ??  smile 
если так пишите, то вполне возможно что студия просто не понимает чего Вы хотите )

Это сообщение отредактировал(а) mes - 10.12.2008, 22:17


--------------------
PM MAIL WWW   Вверх
yngwie19
Дата 10.12.2008, 22:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 15.6.2008
Где: Новгород

Репутация: нет
Всего: нет



mes, эээ прошу прощения. 
Код

class Pont
   pulic:
    Point(float = 0.0, float = 0.0); 


Это сообщение отредактировал(а) yngwie19 - 10.12.2008, 23:07
PM MAIL   Вверх
Kallikanzarid
Дата 11.12.2008, 08:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 240
Регистрация: 9.11.2008

Репутация: 2
Всего: 3



Здесь код правильный.
PM MAIL   Вверх
mes
Дата 11.12.2008, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(Kallikanzarid @  11.12.2008,  08:37 Найти цитируемый пост)
Здесь код правильный. 

Цитата(yngwie19 @  10.12.2008,  22:59 Найти цитируемый пост)
class Pont
   pulic:
    Point(float = 0.0, float = 0.0); 

за исключением опечатки в названии класса ( Pont вместо Point) и отсутствия открывающей скобки.  smile 

Kallikanzarid, вопрос то был в другом ...  smile 

Цитата(yngwie19 @  10.12.2008,  20:04 Найти цитируемый пост)
Я через WizardBar для данного класса выбираю функцию Point, на что компилятор ругается "Cannot find the definition for this function". Если в прототипе не указывать аргументы по умолчанию, то все нормально. Не то чтобы это мешает, т.к все компилтся без проблем, но хочется понять. Нужно что в описании функции тоже писать нули для двух переменных float ? 

Если нужны параметры по умолчанию, то нужно. 


Это сообщение отредактировал(а) mes - 11.12.2008, 10:51


--------------------
PM MAIL WWW   Вверх
J0ker
Дата 11.12.2008, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 986
Регистрация: 17.9.2008

Репутация: 9
Всего: 14



Цитата(mes @  11.12.2008,  10:51 Найти цитируемый пост)
Если нужны параметры по умолчанию, то нужно. 

нет



--------------------
user posted image
PM MAIL   Вверх
yngwie19
Дата 11.12.2008, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 15.6.2008
Где: Новгород

Репутация: нет
Всего: нет



J0ker, а как тогда
PM MAIL   Вверх
J0ker
Дата 11.12.2008, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 986
Регистрация: 17.9.2008

Репутация: 9
Всего: 14



аргументы по умолчанию не могут переопределяться в определении функции - они могут только добавляться, и это добавление будет действительно только в текущем модуле трансляции

Добавлено через 6 минут и 20 секунд
вообще не совсем понятно, что такое описание функции
есть объявление (declaration) и определение (definition)


Это сообщение отредактировал(а) J0ker - 11.12.2008, 19:08


--------------------
user posted image
PM MAIL   Вверх
yngwie19
Дата 11.12.2008, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 15.6.2008
Где: Новгород

Репутация: нет
Всего: нет



J0ker, ну в смысле определение. Так как быть, почему когда в объявлении пишу float = 0, то выдается ошибка описанная мной выше
PM MAIL   Вверх
J0ker
Дата 11.12.2008, 20:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 986
Регистрация: 17.9.2008

Репутация: 9
Всего: 14



Цитата(yngwie19 @ 11.12.2008,  19:58)
J0ker, ну в смысле определение. Так как быть, почему когда в объявлении пишу float = 0, то выдается ошибка описанная мной выше

вообще это не компилятор ругается - у мелкософта эта примочка называется IntelliSense - ее довольно часто переклинивает
в часности, был когда-то вариант, что ее переклинивало когда когда имена аргументов в объявлении и определении не совпадали


--------------------
user posted image
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0484 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.