[ azzpoz @ 05.12.2013. 18:24 ] @
Code:
#include <iostream>
using namespace std;

int main()

{
    
    char *pok;
    
    pok = NULL;
    
    cout << pok << "<<<<<" << endl;
    
    
    pok = new char[strlen("Harry Copter")+1];
    strcpy(pok, "Harry Copter");
    
    cout<<"\n pok-> " << pok << endl;
      
    
    system("pause>0"); return 0;
}



Zašto nakon pok koji je pokazivao NULL, ne može prikazati ponovo pok, kojem je alocirana memorija, te dodjeljena vrijednost???

[ X Files @ 05.12.2013. 18:55 ] @
Code:

cout<<"\n pok-> " << (void *)pok << endl;
cout<<"\n pok-> " << static_cast<void *>(pok) << endl;
cout<<"\n pok-> " << reinterpret_cast<void *>(pok) << endl;


http://stackoverflow.com/quest...inter-confusing-with-cout-in-c
[ azzpoz @ 05.12.2013. 19:02 ] @
Razmijem da ne može i nema vrijednost koji bi pročitao operator<<, ali zašto se kasnije ne ispisuje bilo što???
[ Burgos @ 05.12.2013. 19:35 ] @
Zato što si pokušao da spržio stanje cout objekta time što si pokušao da čitaš string sa lokacije 0.

Code:
cout.clear();


nakon greške postavlja stanje na ispravno: http://www.cplusplus.com/reference/ios/ios/clear/

Code:
#include <iostream>
#include <cstring>
using namespace std;

int main()

{

    char *pok;

    pok = NULL;

    cout << pok << "<<<<<" << endl;

    cout.clear();

    pok = new char[strlen("Harry Copter")+1];
    strcpy(pok, "Harry Copter");

    cout<<"\n pok-> " << pok << endl;


}