楼主: 
spong (请输入ID)   
2020-07-21 12:36:39在书中看到的问题,想了很久还是无解
书中叙述:区域变量不可以用作默认引数,除此叙述
          默认引述可以是型别,能够转换“为参数
          型别的任何算式”
举例:
          //前置作业
          typedef string::size_type sz
          string screen(sz ht=24, sz wid =80, char);
          // wd、def、ht的宣告必须出现在一个函式之外
          sz    wd =80;
          char  def = ' ' ;
          sz    ht() ;
          string screen(sz=ht(),sz=wd,char=def);
          string window = screen();    //呼叫screen(ht(),80,' ')
          //其他函式出现
          void f2()
          {
               def = '*' ;              //变更默认值
               sz wd = 100 ;            //遮蔽wd的外层定义,并未更改
               window = screen();      //呼叫screen(ht(),80,'*')
           }
我的问题: 既然在f2函式中wd已经遮蔽外层,却并没有更改外层的screen中wd值
           然而def在f2中却能修改,这是为什么呢?????