gpt4 book ai didi

c++ - 命名空间中的类前向声明

转载 作者:太空宇宙 更新时间:2023-11-03 10:46:48 25 4
gpt4 key购买 nike

#include <iostream>
#include <string>
#include <vector>

using std::string;
using std::vector;
using std::endl;
using std::cout;

namespace AAH
{
class messageTemplate;
};

using namespace AAH;

int main()
{
messageTemplate templateMSG32("hello world");
cout << templateMSG32.version << endl;
return EXIT_SUCCESS;
}

namespace AAH {
class messageTemplate
{
public:
messageTemplate() : version("XX.XX.XX.001") {}
messageTemplate(string ver) : version(ver) {}
string version;
};
};

好的,这是代码,

我收到一条错误消息:

错误 3 错误 C2228:'.version' 的左边必须有类/结构/union

我正在使用 visual studio 2012

谁能告诉我为什么会出现这个错误

最佳答案

如上所述,前向声明只允许您声明指针或引用。

在您的示例中,您在技术上不需要前向声明,因为您可以在主函数之前声明 AAH 类。

关于c++ - 命名空间中的类前向声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19647103/

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