c++ - 结构对 .cpp 不可见

标签 c++ visual-studio-2012 struct visibility

我在头文件中声明了一个结构体,你可以在下面看到它。

private: 
    struct Node{
        Customer data;
        Node *next;
        Node *prev;
    };
Node* find (const int index) const;

并声明了一个返回 Node* private 的函数。

然而,当我尝试在我的 cpp 文件中实现函数 find 时,它给出了一个错误,提示“identifier Node is undefined”。

Node* CustomerList::find(const int index){
    //some random code
}

问题是什么,难道 Node 不应该对 .cpp 可见吗?

最佳答案

假设 CustomerList 是包含 Node 的类。

CustomerList::Node* CustomerList::find(const int index){
    //some random code
}

CustomerList 方法中,您可以只说 Node 但返回类型不同,您仍然需要使用 CustomerList:: 进行限定/p>

关于c++ - 结构对 .cpp 不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16386308/

相关文章:

visual-studio-2012 - 如何获取 Visual Studio 当前使用的颜色主题

C++如何从具有不同返回类型的接口(interface)进行多重继承?

无法释放指向先前分配的结构的指针

struct - Julia 中的不完整初始化

testing - 无法从 VS 2012 中的测试资源管理器运行测试

c++ - 带有结构指针的类初始化列表

c++ - 我应该构建什么样的代码库来分发?

c++ - 非常简单的 c++ for 语句,但它不会计算出来?

c++ - 如何使用 dup2 定期读取重定向到文件描述符的 stdout 上的内容

c++ - 如何在参数非常量中传递 const 指针