>Компилю такой фрагмент в С++ :
>#include iostream.h
Устарело.
#include <iostream>
>main ()
Не хорошо.
int main()
>{
> ...
> char *str = "Hello";
Это не C++, а на С...
> *str = 'A';
Это ошибка, как уже указал sas.
> cout << str << endl;
>return 0;
Лучше
#include <cstdlib>
...
return EXIT_SUCCESS;
>}
>Компилится без проблем,
Именно потому, что это скорее на C, чем на C++.
Пишите такое лучше, всё таки, так:
#include <string>
...
std::string s= "Hello!";
s[0]= 'A';
std::cout << s << endl;
...
Вот это на C++, а не на C.
Компилировать лучше так (в случае gcc):
g++ -Wall ... или c++ -Wall ...