写一道数据结构课后题时,发现定义的枚举类总是显示不明确。
以前一直用的VS,把代码挪到VS里发现同样报错,但在VS里把枚举类放到类的公有部分就可以正确运行了,VScode还是迟迟不行,在CSDN上查了蛮久,一直没找到可以解决这个问题的博客,干脆采用控制变量法一点点查。
功夫不负有心人,发现是命名空间的问题,把“using namespace std;”这句话删除,再在cout、cin、endl前面加上命名空间“std::”就不会报错了。
下面是报错代码(plus下回标红):
#include <iostream>
using namespace std;
enum signType { plus, minus };
class currency
{
public:
currency(signType theSign = plus,
报出错误:
VS改正:
#include <iostream>
using namespace std;
class currency
{
public:
enum signType { plus, minus };
currency(signType theSign = plus,
VScode改正:
#include <iostream>
enum signType { plus, minus };
class currency
{
public:
currency(signType theSign = plus,
(ps:感觉VScode结果和报错什么的不太稳定,不知道是不是新手的原因,前一天还报错,第二天就可以正常运行了,现在使用VS的改正方法在VScode上也可以正常运行了)