gpt4 book ai didi

c++ - 无法编译项目 : error in locale. h 文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:45:22 27 4
gpt4 key购买 nike

我正在尝试编译一个具有以下 header 的项目:locale.h;

语言环境.h:

class LOG4CXX_EXPORT Locale
{
public:
...

protected:
Locale(const Locale&);
Locale& operator=(const Locale&);
const LogString language; <-- error
const LogString country; <-- error
const LogString variant; <-- error
}; // class Locale

谁能给我一些建议?

我遇到了这个错误。我不知道有什么问题。

/LOGGER/include/log4cxx/helpers/locale.h:42:41: error: field ‘language’ has incomplete type
const LogString language;
^
/LOGGER/include/log4cxx/helpers/locale.h:43:41: error: field ‘country’ has incomplete type
const LogString country;
^
/LOGGER/include/log4cxx/helpers/locale.h:44:41: error: field ‘variant’ has incomplete type

最佳答案

考虑以下代码:

class MyClass;

int method1(const MyClass& param);
MyClass& method2();
const MyClass instance; // <- error here

MyClass 的声明是一个前向声明。编译器只知道该类存在(它不知道它的成员、大小...),这就是为什么它被称为不完整类型。您可以使用该类的引用或指针,仅此而已。在此处查看更多信息 When can I use a forward declaration?

所以看起来在您的代码中,您只有 LogString 类型的前向声明,而不是完整声明。检查您的包含文件和包含顺序,以便您获得此类的完整声明。

关于c++ - 无法编译项目 : error in locale. h 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32393098/

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