c++类声明错误
c++ declaration error with classes
我有一个具有几个功能的结构info
。其中一个函数是info combineInfo
,它接受两个参数(两组信息)。
Info combineInfo(info1, info2);
在main
中,我用构造函数将所有内容输入info1和info2,并且这些都很好。然而,当我从main
调用combineInfo(info1, info2)
时,我陷入了死胡同。我收到消息"错误:combineInfo
未在此范围内声明。"
Info info1; //this is from a constructor that inputs all the values from cin.
Info info2; // ^^
Info3 = combineInfo(info1, info2;
info3.printinfo(); // constructor from class, works fine.
函数是这样的:
Info Info::combineInfo(Info1, Info2); // sets some values of info1 to info3 and some of info2 to info3.
函数应为:
class Info{
static Info combineInfo(Info info1, Info info2) {
//implementation
}
//the rest of the class implementation!
};
由于它是一个成员函数,它需要范围解析操作符::
。
info3 = Info::combineInfo(info1, info2);
,这就是你怎么称呼它的!
当前的实现期望combineInfo
在全局作用域中,而它在类(成员函数)中-因此出现错误!
使用信息::combineInfo (info1 info2);
不能在外部直接访问成员函数。您需要使用范围解析操作符::or。
相关文章:
- 错误:未在此范围内声明'reverse'
- C++错误C2600:无法定义编译器生成的特殊成员函数(必须首先在类中声明)
- 从具有默认值的部分指定模板类继承时发生SWIG错误,具有不带默认值的正向声明
- 错误:"imread"未在此范围内声明
- 在气泡排序程序中未声明错误功能
- 使用全局声明的向量时,C++双重释放错误/损坏
- 使用直接大括号初始化时,C++ 编译错误"声明末尾的预期";"
- C++ [错误] 声明'char '隐藏参数。什么意思?
- 类中的静态函数给出了错误:声明中的两种或多个数据类型
- 错误:声明冲突 - 指针不能是 int
- 收到 CUDA 错误"声明与以前的"variable_name"不兼容
- 错误:声明不声明
- Visual Studio 2010 链接器错误C++声明我从头文件创建的类时
- Cython 错误:声明不声明任何内容
- 错误"声明非模板函数"C++
- 无效地使用不完整的类型/前向错误声明.可能误用抽象类?(c++)
- 错误:声明冲突.用c++编译c代码
- C++错误:声明中存在显式限定
- else语句(C++)上的错误w/声明
- 初始化const类成员,错误:声明没有声明任何内容