我試圖與命名空間中的一個函式成為朋友,但我不知道為什么會出現錯誤:
錯誤 C2653 'a':不是類或命名空間名稱
我已經嘗試了多次,但我認為這不是我的錯誤,但請看一下:
class plpl
{
private:
int m;
public:
plpl()
: m(3) {}
friend void a::abc();
};
namespace a {
void abc();
void abc()
{
plpl p;
std::cout << p.m << std::endl;
}
}
我使用Visual Studio 2019。我不知道該怎么做,請幫助。
uj5u.com熱心網友回復:
正如評論中所建議的,您需要轉發宣告命名空間a和函式abc,如下所示。
#include <iostream>
namespace a {
void abc();
}
class plpl {
private:
int m;
public:
plpl() : m(3) {}
friend void a::abc();
};
namespace a {
void abc() {
plpl p;
std::cout << p.m << std::endl;
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/430124.html
