![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Vaso |
|
|||
|
Unregistered |
Кто подскажет? Допустим есть такой класс:
class TrueVector { char* string; //viskazivanie char* spec; //sostoyanie float a, b; //Znachenie public: void specif() //Ustanovka sostoyaniya { if (a > b) spec = "Truerly"; else spec = "Falselry"; if (a == b && b == 1) spec = "Protivorechivo"; if (a == b && a == 0) spec = "Neopredeleno"; } TrueVector() { a = b = 0; spec = string = " "; }; TrueVector(float init_a, float init_b, char* init_string) { if (((init_a>=0)&&(init_a<=1))&&((init_b>=0)&&(init_b<=1))) { a = init_a; b = init_b; strcpy(string,init_string); specif(); } else { cout << "Value must be in range of [0,1]. "; cout << "Vector is not intialized. Exiting ..." << endl; cout << "Press any key..."<<endl; getch(); exit(1); } }; void init(); //initialization * void print(); //print * int operator>> (TrueVector); //silnee * int operator== (TrueVector); //ekvivalentnost * int operator> (TrueVector); //pravdopodobnost * TrueVector operator~ (); //dopolnenie * TrueVector operator! (); //otrizanie * TrueVector operator& (TrueVector); //composition 01 * TrueVector operator| (TrueVector); //composition 10 * TrueVector operator&& (TrueVector); //composition 00 (&&) * TrueVector operator|| (TrueVector); //composition 11 (%%) * int c_mp(TrueVector);// * }; //-------------------------------------------------------------------------- ... ... ... Там далее описание методов ... но я думаю это не важно. ... ... ... main() { clrscr(); TrueVector pos(0.1,0.2,"String"), vec; } Так вот, после выполнения этой программы (еще только в среде BC3.1) вылетает в винду с сообщением об ошибке "Borland C++ for DOS Процессор NTVDM обнаружил недопустимую инструкцию. CS:8708 IP:6fc6 OP:fe ff 00 00 9c ... " иногда не вылетает, а пишет "Null pointer asigment", а еще чаще просто без объяснений. Кто может подсказать, где я ошибся? Я так думаю где-то в конструкторе дело ... |
|||
|
||||
| bel_nikita |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: 21 Всего: 47 |
А где конструктор
pos(0.1,0.2,"String") - что это? main() { clrscr(); TrueVector vec; vec.specif(); } |
|||
|
||||
| Unregistered |
|
|||
|
Unregistered |
pos(0.1,0.2,"String") - что это?
это объект для него конструктор: TrueVector(float init_a, float init_b, char* init_string) { if (((init_a>=0)&&(init_a<=1))&&((init_b>=0)&&(init_b<=1))) { a = init_a; b = init_b; strcpy(string,init_string); specif(); } else { cout << "Value must be in range of [0,1]. "; cout << "Vector is not intialized. Exiting ..." << endl; cout << "Press any key..."<<endl; getch(); exit(1); } } |
|||
|
||||
| bel_nikita |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: 21 Всего: 47 |
сорри
а может у тебя проблемы с strcpy(string,init_string); Я так понимаю ты копируешь с одной строки в другую, но что- то не видно, чтобы ты память под нее выделил. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |