Мобильная версия форумов
Открыть
 −4°C
завтра: −4°C
Погода в Перми
−4°C
утром−5°C
днем−4°C
завтра−4°C
Подробно
 66,70
+0.1615
Курс USD ЦБ РФна 16 февраля
66,7044
+0.1615
 75,25
+0.2021
Курс EUR ЦБ РФна 16 февраля
75,2492
+0.2021
PRM.Форум /Компьютеры Интернет Связь / Программирование /

Косяки с функциями в структурах

  • Анонимный пользователь
    Вообщем трабла в следующем ... Все в С++

    Создал проект из двух файлов. В первом находятся шаблон структуры (в ней есть и функции-члены) а также определение функций относящихся к этой структуре (прошу заметить не КЛАСС). Во втором файле я создаю экземпляр данного структурного типа и обращаюсь к его функциям ... На этапе компиляции, выдается ошибка о том, что функции, которые были определены не являются членами данного структурного типа... :(( Что поделать .... Или скажите хотя бы почему так происходит....... Хелп !!! Срочно!!!!

  • activist

    Сообщений: 149

    1. Сведи код до минимума, где всё ещё не компиляется
    2. Выложи его сюда в форум (прикреплённым файлом)
    3. Параллельно спроси на rsdn.ru

  • Анонимный пользователь
    Привет. Я бы тебе посоветовал вместо структуры создать класс...
    За неимением твоего кода - это все, что могу посоветовать...

  • Cactus

    Анонимный пользователь

    За неимением кода - разницы никакой.

  • Анонимный пользователь
    > прошу заметить не КЛАСС <
    а вот это как раз пофиг. struct A : B { /* */ }; в точности аналагично class A : public B { public: /* */ };

    > На этапе компиляции, выдается ошибка о том, что функции, которые были определены не являются членами данного структурного типа... <
    ошибся в названиях функций. или забыл продекларировать функции внутри определения структуры. или или или или.

  • Анонимный пользователь
    Вот значиться содержимое файла с определением структуры и функций:
    #include
    #include

    struct time
    {
    int hour,min,sec;

    void Enter(int h,int m,int s);
    void Inc_dec(char key);
    void Output();
    };


    void time::Enter(int h,int m,int s)
    {
    if(h

  • Максимыч

    Анонимный пользователь

    Вообще-то, насколько я помню, раньше в С++ не было такого понятия - метод для структуры, только для класса. Потом расширили, но, возможно, не все компиляторы такое расширение включили.

    Другой вариант - тип time уже описан где-то еще во включаемых библиотеках.Я бы назвал TMyTime что ли.

    И еще - не вижу во втором файле include заголовка первого.

  • Cactus

    Анонимный пользователь

    А еще было бы неплохо привести текст сообщения об ошибке.

    time действительно есть, но если ничто кроме stdio.h и conio.h не подключается, то все должно быть нормально. Хотя на всякий случай действительно лучше именовать иначе.

  • #VaGon#

    Анонимный пользователь

    В ответ на: time действительно есть, но если ничто кроме stdio.h и conio.h не подключается, то все должно быть нормально. Хотя на всякий случай действительно лучше именовать иначе.
    а какая разница как обзывать, струтура должна была переопределиться все равно... а если листинг полный, то всего навсего не хватает во втором файле головняка первого и все тут ИМХО...

  • Анонимный пользователь
    у тебя файл имеет расширение .c или .cpp?
    в настройках проекта опция компилировать как C или как C++?

  • Cactus

    Анонимный пользователь

    [q]а какая разница как обзывать, струтура должна была переопределиться все равно[/q]
    Валька, ты, кажется, уработался. Попробуй сам создать два хеадера со структурами одного названия, но разного наполнения (хотя можешь и одинакового) и включить их хоть в холостой сишник. Получишь сообщение: "Multiple declaration for 'time'". Ты кажется перепутал с перегрузкой операторов.

  • #VaGon#

    Анонимный пользователь

    В ответ на: Валька, ты, кажется, уработался. Попробуй сам создать два хеадера со структурами одного названия, но разного наполнения (хотя можешь и одинакового) и включить их хоть в холостой сишник. Получишь сообщение: "Multiple declaration for 'time'". Ты кажется перепутал с перегрузкой операторов.
    да кажись прокосячил... сидеть на работе меньше надо...

    все равно у него библиотека не подключена так что с этим косяков не должно быть

  • Cactus

    Анонимный пользователь

    В ответ на: все равно у него библиотека не подключена так что с этим косяков не должно быть
    Об этом я упоминал. :спок:

  • #VaGon#

    Анонимный пользователь

    [цитата] [цитата] все равно у него библиотека не подключена так что с этим косяков не должно быть [/цитата]
    Об этом я упоминал. :спок: [/цитата]

    молодец... хвалю... :бебе:

Записей на странице:

Перейти в форум

Модератор: