Почему аргумент main () argv имеет тип char * [], а не const char * []?

Когда я написал следующий код и выполнил его, компилятор сказал

устаревшее преобразование строковой константы в char *

int main()  
{  
  char *p;  
  p=new char[5];  
  p="how are you";  
  cout<< p;  
  return 0;  
}  

Это означает, что я должен был написать const char * .

Но когда мы передаем аргументы в main , используя char * argv [] , мы не пишем const char * argv [] .

Почему?

24
задан Lightness Races with Monica 2 September 2011 в 15:41
поделиться