&在函数的左侧(关于C ++语法)
& on left of function (regarding c++ syntax)
我的问题很简单。我有一个函数需要在.cpp文件中实现。
原型:
const Location &getTop(void) const;
这在标题中。
当我试图为.cpp文件截取它时,我会把它做成这样:
const Location LocationStack::&getTop(void) const{
}
我得到错误:"&":'右侧的非法令牌::'如何修复此问题?我知道语法肯定是错误的。
此行
const Location &getTop(void) const;
声明了一个函数,该函数返回对CCD_ 2的CCD_。使用以下格式将不那么令人困惑:
const Location& getTop(void) const;
要修复编译错误,请尝试
const Location& LocationStack::getTop(void) const
应该是
const Location& LocationStack::getTop(void) const
{
}
您可以将其解读为"对const Location
对象的引用"
const Location &getTop(void) const;
返回类型始终位于变量名的左侧(在某些其他情况下除外)。函数的命名规则与变量相同——它们只能包含某些字符,&
不是其中之一。
上面的返回类型实际上意味着对const Location
对象的引用。&
指定对某一类型的引用。您可能已经看到此运算符用于获取对象的地址。这只是它的各种用途之一。
由于getTop
是函数的名称,因此&
不能应用于此。你应该这样定义它:
const Location& LocationStack::getTop(void) const {
}
其中返回类型保持不变,并且正确指定了函数的名称。
相关文章:
- 1d 智能指针不适用于语法 (*)++
- 助记符和指向成员语法的指针
- 有人能分解一下这个c++模板的语法吗
- C++避免重复声明的语法是什么
- QMetaObject invokeMethod的基于函数指针的语法
- 一个关于在C++中重载布尔运算符的问题
- 奇怪的(对我来说)返回声明 - 在谷歌上找不到任何关于它的信息
- 这个语法std::class<>{}(arg1, arg2) 在C++中是什么意思?
- 关于std::move的使用,是否有编译警告
- 为什么包含windows.h会产生语法错误,从而阻止类的实例化?(C2146,C2065)
- 关于简单C++函数(is_palindrome)的逻辑的问题
- 关于异常继承中的语法的问题
- 再次C++函数指针.关于语法的混淆
- 关于结构初始化语法复杂性的问题
- C++:关于初始化语法、值初始化和默认初始化的3个问题
- C++矩形类关于语法的说明
- &在函数的左侧(关于C ++语法)
- 关于使用 C++ 'new' 语法
- 关于 V8 TYPE_CHECK宏中C++语法的问题
- (C++)关于语法的非常基本的问题