某些函数在编译时会忽略类变量和标头中的函数
Class variables and a function from header are ignored by some functions while compiling
我必须编写一个类,但我遇到了对我来说没有多大意义的错误。链接到我的代码和我收到的错误消息。
我已经在头文件中声明了私有变量和函数,但一些函数看不到变量,其中一个函数在.cpp.中也看不到
确切地说:int sizeCounter
不能被void transportValues()
和void putValue()
看到,但可以被void size()
、void isEmpty()
和void enqueue()
看到。此外,void swapValues()
给出"未找到标识符"错误,即使它是在标头中声明的。
我尝试过但没有成功:
将sizeCounter
或swapValues
从私有移动到公共
将可以看到sizeCounter
或swapValues
的函数从私有移动到公共
请一些有经验的人帮忙。
我所尝试和做的工作:
在.cpp中为swapValues
创建函数原型。
将swapValues
移动到.cpp中的putValue
之上(即使我从标头中删除了声明,这也有效)。
我没有尝试过的:
要求某人编译代码,以显示错误是否是由我的编译器引起的。
我使用的是Visual Studio 2008,BTW.操作系统:Win 7(x64)。
如果你在代码中发现任何与此无关的其他错误,请考虑无需更正我的错误。
提前谢谢。
对于类外定义,您应该在标识符之前添加类名,使用
void HeapPriorityQueue::putValue(string value, string* arr)
而不是
void putValue(string value, string* arr)
相关文章:
- c++ 在非类函数中使用类变量
- 为什么从另一个构造函数内部调用C++构造函数不修改类变量?
- 如何在构造函数中访问类变量以分配它们,而无需在C++中使用此指针
- 将函数更改为具有设置函数输入变量的方法的类
- 从静态成员函数访问私有非静态类变量 - C++
- 重写子类构造函数中的父类变量
- 调用函数时,私有类变量不会更改
- 指向类变量中函数的指针
- 作用域仅限于函数的类变量
- 修改类中调用另一个类函数的变量
- 在 android 上从 Java 调用C++类方法或函数,而无需在每次调用时重新创建类/变量
- 使用类成员函数进行变量初始化
- 禁用成员函数和变量,而不使用继承或类专用化
- 如何制作特定类的成员函数或变量(如 STL 容器)的别名
- 某些函数在编译时会忽略类变量和标头中的函数
- 为什么我不能从我的 setMonth 函数更改类变量"name"?
- C :类 - 超载构造函数 - 单个变量
- 函数内部的静态变量与c++中的静态类变量
- 显示类变量.在 printf 函数中使用字符串作为参数
- 关于函数类变量的更多信息