> хочу записать в msg строку > char *msg; > cin>>msg; > cout<<msg<<endl; > это есть ERROR !!! > но это работает > char *msg="hello world."; > cout<<msg<<endl; > в чем трабл
Все работает. Ты как из main() выходишь то? return делаешь, если не void?
хочу записать в msg строку
char *msg;
cin>>msg;
cout<<msg<<endl;
это есть ERROR !!!
но это работает
char *msg="hello world.";
cout<<msg<<endl;
в чем трабл
> хочу записать в msg строку > char *msg; > cin>>msg; > cout<<msg<<endl; > это есть ERROR !!! > но это работает > char *msg="hello world."; > cout<<msg<<endl; > в чем трабл
Все работает. Ты как из main() выходишь то? return делаешь, если не void?
> #include <iostream.h> > #include <conio.h> > > int main() > { > char *msg; > cin>>msg; > cout<<msg<<endl; > //getch(); > return 0; > } Хм... а у меня со проблеммы (ппмять не может быть writteln)
> Хм... а у меня со проблеммы (ппмять не может быть writteln) > Visual C++ 6.0 SP3
Так то ж VisualC++!!!
Я то на Borland C++ 5.02 (command string only)...
А у microsoft там всегда глюки! Одни exceptions, general protection faults, memory cannot be written, и т.д.
#include <iostream.h>
#include <conio.h>
int main()
{
char *msg="";
cin>>msg;
cout<<msg<<endl;
getch();
return 0;
}
- работает! без присвоения ="" компилятор выдавал
local variable 'msg' used without having been initialized.
Хотя правильнее было бы сначала определить переменную, а затем сделать на нее указатель:
#include <iostream.h>
#include <conio.h>
int main()
{
char str[255];
char *msg=str;
cin>>msg;
cout<<msg<<endl;
getch();
return 0;
}
Совет: пиши на borlande - меньше проблем с синтаксисом, меньше выходные файлы, и вообще - просто лучше...
[C++] неа08.11.01 09:12 Автор: toy Статус: Незарегистрированный пользователь
[C++] При чем тут компилеры, просто человек забыл выделить память под указатель(в догонку)10.11.01 02:54 Автор: sLoNik Статус: Незарегистрированный пользователь