Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ ';堆栈::n';:无法访问类';堆栈';_C++ - Fatal编程技术网

C++ ';堆栈::n';:无法访问类';堆栈';

C++ ';堆栈::n';:无法访问类';堆栈';,c++,C++,c:\users\tri\documents\visual studio 2010\projects\assignment01\assignment01\code.cpp(73):错误C2248: “stack::n”:无法访问类“stack”1中声明的私有成员> c:\users\tri\documents\visual studio 2010\projects\assignment01\assignment01\headerfile.h(20):参见 声明'stack::n'1>c:\use

c:\users\tri\documents\visual studio 2010\projects\assignment01\assignment01\code.cpp(73):错误C2248: “stack::n”:无法访问类“stack”1中声明的私有成员> c:\users\tri\documents\visual studio 2010\projects\assignment01\assignment01\headerfile.h(20):参见 声明'stack::n'1>c:\users\tri\documents\visual studio 2010\projects\assignment01\assignment01\headerfile.h(19):参见 声明“stack”1>c:\users\tri\documents\visual studio 2010\projects\assignment01\assignment01\code.cpp(76):错误C2248: “stack::n”:无法访问类“stack”1中声明的私有成员> c:\users\tri\documents\visual studio 2010\projects\assignment01\assignment01\headerfile.h(20):参见 声明'stack::n'1>c:\users\tri\documents\visual studio 2010\projects\assignment01\assignment01\headerfile.h(19):参见 声明“stack”1>c:\users\tri\documents\visual studio 2010\projects\assignment01\assignment01\code.cpp(78):错误C2248: “stack::a”:无法访问类“stack”1中声明的私有成员> c:\users\tri\documents\visual studio 2010\projects\assignment01\assignment01\headerfile.h(21):参见 声明'stack::a'1>c:\users\tri\documents\visual studio 2010\projects\assignment01\assignment01\headerfile.h(19):参见 声明“stack”1>c:\users\tri\documents\visual studio 2010\projects\assignment01\assignment01\code.cpp(79):错误C2248: “stack::a”:无法访问类“stack”1中声明的私有成员> c:\users\tri\documents\visual studio 2010\projects\assignment01\assignment01\headerfile.h(21):参见 声明'stack::a'1>c:\users\tri\documents\visual studio 2010\projects\assignment01\assignment01\headerfile.h(19):参见 “堆栈”的声明


如果没有看到code.cpp,我的猜测是:

  • 您正在尝试从类外访问私有成员。这是不可能的。将它们标记为public,或在类中构建公共函数以访问它们
  • 您可能试图访问非静态的类成员。如果它们不是静态的,则无法使用
    堆栈::
    访问它们。必须首先实例化
    堆栈
    类型的对象,然后可以使用应用于该对象的
    访问器访问它们

  • 我猜你做过这样的事情:

    class stack
    {
        int n;//problem
        char a[100];//problem
        int top;
       public:
        bool isempty()
          {
            return top == -1;
          }
    
            stack()
          {
                top=-1;
          }
    
          bool push(const char &c)
          {
            if(top == 100)
            {
                return false;
            }
    
            top++;
            a[top] = c;
    
            return true;
    
          }
    
          bool pop(char &c)
          {
            if(top == -1)
            {
                return false;
            }
    
             c = a[top];
             top--;
          }
    
          char get_top()const
          {
            return a[top];
          }
    
    };
    

    你不能直接评估课堂外的私人成员。我们几乎不需要在堆栈中随机评估变量。

    我们需要查看
    code.cpp
    以了解错误的方面(fp1,0L,SEEK\u END);s.n=ftell(fp1);fseek(fp1,0L,寻道设置);对于(inti=0;iStack s; int num = s.n; char c = s.a[11];