gpt4 book ai didi

c++ - C2244 - 无法将函数定义与现有声明相匹配

转载 作者:行者123 更新时间:2023-11-28 06:41:42 25 4
gpt4 key购买 nike

所以我得到了下面的代码,我一直在浏览这个网站上的问题,以及我在谷歌上找到的任何其他东西,但我就是无法掌握它...... S.O.S.

template <class C>
class Cod
{
private:
SirString *sir_string;
SirBinar *sir_binar;
C* char_la_binar(C c);
C* string_la_binar(C *s);
C* binar_la_char(C *cod_binar);
C* binar_la_string(C *cod_binar);

public:
Cod();
Cod(SirBinar *sb);
Cod(SirString *ss);
C* vezi_string();
C* vezi_binar();
void codificare();
void decodificare();
};

template <class C>
inline char* Cod<C>::char_la_binar(C c)
{
C *cod_binar = (C*) malloc (sizeof(C));
strcpy(cod_binar, "");

int aux = (int)c;
while(aux)
{
if(aux%2 == 0)
strcat(cod_binar, "0");
else
strcat(cod_binar, "1");
aux/=2;
}
cod_binar = strrev(cod_binar); //
return cod_binar;
}

错误 11 错误 C2244:“Proj::Cod::char_la_binar”:无法将函数定义与现有声明相匹配

有什么想法、建议吗?

最佳答案

声明函数返回C*:

C* char_la_binar(C c);
^^

但将其定义为返回 char*:

inline char* Cod<C>::char_la_binar(C c)
^^^^^

从函数体来看,声明是正确的,应该把定义改成C*

关于c++ - C2244 - 无法将函数定义与现有声明相匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25852416/

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