c++ Linux 编译错误



我在用 Linux 编译时遇到以下错误。

file.cxx:283:9: error: reference to ‘multimap’ is ambiguous
file.cxx:273:47: error: candidates are: std::multimap, std::basic_string > multimap

->段示例代码是

static std::multimap<std::string,std::string> multimap;   //line no. 273
//
void foo()
{
    if (multimap.size() == 0)
    {
        multimap.insert( std::pair< std::string, std::string >( "A" , "B" ) );
    }
}

提前致谢

文件中可能有using namespace std;。这意味着你的编译器已经知道"multimap",你试图再次定义它,在这种情况下,编译器不知道你指的是哪一个。

std 中有一个成员function,您将其插入到命名空间中。避免使用using namespace std;您可以通过以下方式导入所需的内容:

using std::multimap;

using std::string;

相关内容

最新更新