使用在另一个类中定义的类的类型定义函数
Defining a function with the type of a class defined within another class
class A {
class B { }
B somefunction();
}
B A::somefunction() {
B bla;
return bla;
}
所以我的代码中有类似的东西。我收到一个错误,说'B' does not name a type
.任何帮助将不胜感激。附言我不允许更改界面。
前导返回类型在函数范围之外进行解释;因此,如果在此处使用嵌套类型,则需要限定:
A::B A::somefunction() {
或者,从 C++11 开始,您可以使用尾随返回类型,该类型(如函数参数类型(在函数的作用域中进行解释:
auto A::somefunction() -> B {
B
的作用域为 A
,因此为了引用B
,您需要使用范围解析运算符:A::B
。
因此,像A::B A::somefunction()
这样的东西可以定义somefunction
。
B 在 A 类中,其行为有点像在 A 命名空间中。尝试:
class A {
class B { }
B somefunction();
}
A::B A::somefunction() {
B bla;
return bla;
}
你对somefunction()
的定义应该看起来像
A::B A::somefunction() {
B bla;
return bla;
}
相关文章:
- 使用QJsEngine在Qt中注册自定义类型
- 在UE4中使用未定义类型'UTextBlock'
- 修改"std::set"中用户定义类型的值
- 当我使用自定义类型创建动态数组时,即使使用字符串,它似乎也不起作用
- QtQuick - qml:28:错误:未知方法返回类型:自定义类型
- 如何使自定义类型在unordered_map中用作键
- 在 C++20 中是否不再允许在 std 中对程序定义类型的函数模板进行专用化?
- Qt5 远程对象 + 自定义类型,但不在 POD 中
- 为什么转换函数声明不需要至少一个定义类型说明符
- 标准::原子中的自定义类型
- 如何使用自定义类型声明Arduino数组?
- 如何在 Cython 中定义返回 cpp 定义类型的函数?
- 使用自定义访问者时具有自定义类型的提升变体失败(源自 boost::static_visitor)
- 您可以将binary_search应用于具有自定义类型的矢量吗?
- 在自定义类型图中重用 SWIG 映射
- 扩展自定义类型的spdlog
- vim使用户定义类型的COLOR与C++中的基本类型相同
- 重载自定义类型的 std::to_string 和 std::to_chars?
- 具有未声明/未定义类型的 typedef 结构
- 函数重载:内置类型与用户定义类型