我定义的函数是这么写的:
int CTest112Dlg::gotnum(int num)
{
       int result;
   abc[num]=5;
   result=abc[num];
   return result;
}
其中abc数组我已经在OnInitDialog()里面定义并且赋值了,如下:
for (int i=0;i<5;i++)
{
abc[i]=0;

}
int kk;
kk=gotnum[3];
得到错误:
E:\Program Files\Microsoft Visual Studio\MyProjects\test112\test112Dlg.cpp(125) : error C2109: subscript requires array or pointer type
E:\Program Files\Microsoft Visual Studio\MyProjects\test112\test112Dlg.cpp(125) : error C2440: 'initializing' : cannot convert from 'int (__thiscall CTest112Dlg::*)(int)' to 'int'
        Conversion is a valid standard conversion, which can be performed implicitly or by use of static_cast, C-style cast or function-style cast
Error executing cl.exe.
请问如何解决啊?谢谢了.

解决方案 »

  1.   

    你在一个函数里面定义一个变量,却希望在另外一个函数里面调用它,这怎么可以呢。
    应该将 abc 定义为 CTest112Dlg 的成员才行,这样abc 在两个成员函数中才能同时访问阿。
      

  2.   

    同意楼上
    从class view处右键点击CTest112Dlg,选择菜单中的 添加成员变量 一项
    输入
    int 
    abc[5]
    然后在OnInitDialog中加入你的复值代码
      

  3.   

    同意楼上的。定义abc为对话框的成员变量就ok了
      

  4.   

    同意楼上的。定义abc为对话框的成员变量就ok了