从这里:Difference between 'struct' and 'typedef struct' in C++?,如果发现名称冲突(例如,如果类名与函数名相同),我发现我需要class
标识符:
#include <iostream>
using namespace std;
class foo
{
public:
foo() {}
operator char const *() const
{
return "class";
}
};
char const *foo()
{
return "function\n";
}
int main()
{
char const *p;
p = class foo(); //this gets error
cout << p << '\n';
return 0;
}
输出:error: expected primary-expression before ‘class’
p = class foo();
这里的主要表达是什么,如何识别类而不是函数?我希望它打印class
而不是function
。怎么做?
最佳答案
可能的解决方案之一:
using bar = class foo;
p = bar();
关于c++ - 如何在C++中的赋值中命名类标识符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63425035/