我想定义一个全局动态数组来传递变量首先我在StdAfx.h中extern CPlayer *qqq;             //CPlayer是我自己定义的类接着在 StdAfx.cppCPlayer *qqq=new CPlayer[整型变量];运行后提示incorrect storage class 'auto',定义CPlayer的头文件已经包含进了StdAfx.h,
当我把上面的CPlayer换成int ,或者double 时就没有问题,换成CString时会出现同样的问题?请能人帮帮我,先谢谢了

解决方案 »

  1.   

    没看懂你在做什么。
    extern是从别的地方拿来引用。你的
    CPlayer *qqq=new CPlayer[整型变量]; 
    与extern CPlayer *qqq;没有什么关系啊,你这样做的用意是什么?
      

  2.   

    CPlayer *qqq=new CPlayer[整型变量]; 
    这相当于定义动态数组,只有基本类型才可能实现一维的动态数组。
    这个"整数变量"只能是常量.
      

  3.   

    我试了试,可以通过的。问题应该不在new这句话本身。
      

  4.   

    你是想把全局变量定义在stdafx.h这个文件中??
    //stdafx.h
    CPlayer *qqq
    然后在别的.h文件中引用
    //***.h
    #include "stdafx.h"
    extern CPlayer *qqq
      

  5.   

    全局变量定义可以在xxxxApp.cpp中,然后用时可以:
    theApp.yyyy
    不要方stdafx中!
      

  6.   

    CPlayer *qqq=new CPlayer[整型变量]; 
    这里是不可用变量的