Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.07.2010, 09:59   #1
Hichigo
Пользователь
 
Регистрация: 19.07.2010
Сообщений: 40
По умолчанию Ругается на минус при создание деструктора

Код:
#include <iostream>
#include <string.h>
using namespace std;
class student
{
      public:
             student(char* pName)
             {
                           cout << "konst student" << pName << "\n";
                           strncpy(name, pName, sizeof(name));
                           name[sizeof(name) -1] = '\0';
                           se = 0;
                           g = 0.0;
             }
             -student()
             {
                       cout << "likvide" << name << "\n";
                       name[0] = '\0';
             }
             protected:
                       char name[40];
                       int se;
                       float g;
};
int main()
{
    student s("danny");
    system("pause");
    return 0;
}
IDE Dev C++ ругаеться на минус, почему?как исправить?Да добрый я больше небуду.
15 expected unqualified-id before '-' token

Последний раз редактировалось Stilet; 30.07.2010 в 10:23.
Hichigo вне форума Ответить с цитированием
Старый 30.07.2010, 10:05   #2
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Нужна тильда, а не минус. Значек, расположенный на кнопке с буквой Ё. ~
pu4koff вне форума Ответить с цитированием
Старый 30.07.2010, 17:05   #3
Hichigo
Пользователь
 
Регистрация: 19.07.2010
Сообщений: 40
По умолчанию

Еще вопрос strncpy сует pName в массив символов name?
Hichigo вне форума Ответить с цитированием
Старый 30.07.2010, 17:12   #4
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
Сообщение от Hichigo Посмотреть сообщение
Еще вопрос strncpy сует pName в массив символов name?
Именно так
pu4koff вне форума Ответить с цитированием
Старый 30.07.2010, 18:11   #5
Hichigo
Пользователь
 
Регистрация: 19.07.2010
Сообщений: 40
По умолчанию

а почему нужно узнавать размер name как я понял функцие strncpy
Цитата:
sizeof(name)
Hichigo вне форума Ответить с цитированием
Старый 30.07.2010, 18:50   #6
ThisIzGame
Форумчанин
 
Регистрация: 31.08.2009
Сообщений: 161
По умолчанию

Цитата:
Сообщение от Hichigo Посмотреть сообщение
а почему нужно узнавать размер name как я понял функцие strncpy
тебе ж ссылку дали на вики.
Strncpy является более защищённой от переполнения буфера функцией в отличии от функции strcpy. Поэтому ей и требуется указывать размер копируемой строки...
ThisIzGame вне форума Ответить с цитированием
Старый 08.08.2010, 20:22   #7
deviart
 
Регистрация: 08.08.2010
Сообщений: 8
По умолчанию

sizeof(name) это размер указателя, а не то, что ты думаешь.
deviart вне форума Ответить с цитированием
Старый 09.08.2010, 09:03   #8
Hichigo
Пользователь
 
Регистрация: 19.07.2010
Сообщений: 40
По умолчанию

Сие тема уже давно разжована и переварена
Цитата:
sizeof(name) это размер указателя
а потвоему сие
Цитата:
узнавать размер name
не равняется размеру указателя?
Цитата:
а не то, что ты думаешь.
Ты знаешь что я думаю? Нет занчит не надо сие писать
Hichigo вне форума Ответить с цитированием
Старый 09.08.2010, 09:50   #9
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

name - массив, а потому sizeof(name) - это не размер указателя, а размер массива, т.е. количество элементов.
pu4koff вне форума Ответить с цитированием
Старый 09.08.2010, 15:44   #10
deviart
 
Регистрация: 08.08.2010
Сообщений: 8
По умолчанию

Ой, pName с name путаю, виноват.
deviart вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ругается(Acces Violation) при чтении DAT-файла Человек_Борща Общие вопросы Delphi 5 25.05.2010 19:42
делфи ругается при добавлении записи Cannibal БД в Delphi 8 23.04.2010 15:49
Использование конструкторов и деструктора при проектировании пользовательского класса НеважНо Общие вопросы C/C++ 1 22.01.2010 14:56
Использование виртуального деструктора Fataller Общие вопросы C/C++ 3 12.12.2009 22:08
создание dll при старте приложения и удаление при завершении TyoshA Общие вопросы Delphi 7 13.07.2009 13:56