我回到了我以前完成的一个C++学校作业,它实现了一个二叉树。我有一个文件(Tree.cpp),其中包含插入、查找、删除等节点的函数。在顶部,我有"using namespace std;"
。我收到的警告是由另一个文件SymTab.hpp引起的,它看起来像这样:
#ifndef SYMTAB_H
#define SYMTAB_H
#include <iostream>
#include "Tree.hpp"
using namespace std;
template <class Whatever>
class SymTab : private Tree<Whatever> {
public:
Tree<Whatever> :: Insert;
Tree<Whatever> :: Lookup;
Tree<Whatever> :: Remove;
Tree<Whatever> :: Write;
Tree<Whatever> :: Set_Debug_On;
Tree<Whatever> :: Set_Debug_Off;
};
#endif
public:
之后的每一行都会给出一个警告,如下所示:
"SymTab.hpp:11:9: 警告:访问声明已过时,应优先使用声明;建议:添加“using”关键字[-Wdeprecated] Tree :: Insert;",其中“Insert”将被替换为每个相应的函数名称。
有关命名空间的任何建议以及如何消除这些警告?
using
关键字,就像它所建议的那样? - doctorlove