【发布时间】:2021-09-24 06:56:11
【问题描述】:
所以我写了一个类,其中一个函数返回一个结构,函数和结构都包含在类的私有部分中。是这样的:
template <typename T>
class myClass {
private:
struct myStruct {
...
T item;
...
};
myStruct* func(myStruct*, myStruct*);
public:
....
};
template <typename T>
inline myClass<T>::myStruct* func(myStruct* a, myStruct* b) {
...
};
但是,当我尝试测试运行代码时,它会警告我:
C2061 syntax error: identifier 'myStruct'
C2143 syntax error: missing ';' before '{'
C2447 '{': missing function header (old-style formal list?)
我已尝试将该功能移至公共区域,但没有帮助。我还尝试在参数中的每个“myStruct”之前添加“myClass::”,但警告仍然存在。它与类内部的结构有关吗?有人可以帮帮我吗?
【问题讨论】: