gpt4 book ai didi

c++ - 在 C++ 中返回结构数组

转载 作者:太空狗 更新时间:2023-10-29 19:52:11 25 4
gpt4 key购买 nike

我试图在我的类中返回一个结构数组,但我一直收到错误

error C2556: 'cellValue *LCS::LcsLength(std::string,std::string)' : overloaded function differs only by return type from 'cellValue LCS::LcsLength(std::string,std::string)'

当我返回我的 .cpp 文件时

我的类(class)声明是:

enum arrow {UP, LEFT, DIAGONAL};

struct cellValue
{
int stringLenght;
arrow direction;
};

class LCS
{
public:
cellValue LcsLength (string, string);
};

当我尝试返回我的函数时,我有:

cellValue LCS::LcsLength (string X, string Y)
{
cellValue table[1024][1024];

return table;
}

最佳答案

您的 LcsLength 函数有两个主要问题:您的返回类型错误以及您有一个悬空指针。

您将 LcsLength 声明为返回一个 cellValue 对象,但随后尝试返回一个 cellValue[1024][1024]。这就是您遇到编译器错误的原因。

无论返回类型如何,您所做的都不会起作用,因为 table 将在函数退出后立即被销毁。您最好使用 std::vector,或者 std::map,具体取决于该表的用途。

关于c++ - 在 C++ 中返回结构数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29790233/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com