2017-01-29 5 views
-8
void main() 
{ 
    int const *p=5; 
    cout<<++(*p); 
} 

Was wird das tun? Ist es falsch und wenn ja, warum? Bitte mach es mir verständlich. Vielen Dank!Was wird das tun? C++

+5

Es wird bekommen Sie meist downvotes. Um dies in Zukunft zu vermeiden, sollten Sie [die Tour] (http://stackoverflow.com/tour) besuchen und die [Hilfeseite] (http://stackoverflow.com/help) lesen. Hier ist [The Definitive C++ Book Guide und Liste] (http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list). –

+0

Was habe ich falsch gemacht? Ich bin neu hier, bitte erkläre es! Danke – Occlet

+1

Was sagt dein Compiler, wenn du versuchst, dieses Stück Code zu kompilieren? –

Antwort

2

Was wird das tun?

Das Programm ist schlecht formatiert und kann die Kompilierung verweigern. Wenn es kompiliert wird, ist das Verhalten nicht durch den Standard angegeben.

Ist es falsch und wenn ja, warum?

Es ist. Denn:

error: '::main' must return 'int' 
error: invalid conversion from 'int' to 'const int*' 
error: 'cout' was not declared in this scope 
error: increment of read-only location '* p'