小编bet*_*use的帖子

匿名命名空间和命名命名空间之间的函数重载

这是不允许的吗?有人可以解释为什么吗?

算法.h

namespace Algorithms
{
  int kthLargest(std::vector<int> const& nums, int k);    
}
Run Code Online (Sandbox Code Playgroud)

算法.cpp

#include "Algorithms.h"
namespace
{
int kthLargest(std::vector<int> const& nums, int start, int end, int k)
{
   <implementation>
}
} // end anonymous namespace

namespace Algorithms
{
   int kthLargest(std::vector<int> const& nums, int k)
   {
      return kthLargest(nums, 0, nums.size() - 1, k);
   }
} // end Algorithms namespace
Run Code Online (Sandbox Code Playgroud)

我遇到的错误是:

> /usr/bin/c++   -I../lib/algorithms/inc  -MD -MT
> lib/algorithms/CMakeFiles/algorithms.dir/src/Algorithms.o -MF
> lib/algorithms/CMakeFiles/algorithms.dir/src/Algorithms.o.d -o
> lib/algorithms/CMakeFiles/algorithms.dir/src/Algorithms.o -c
> ../lib/algorithms/src/Algorithms.cpp
> ../lib/algorithms/src/Algorithms.cpp: In function ‘int …
Run Code Online (Sandbox Code Playgroud)

c++ overloading namespaces name-lookup

4
推荐指数
1
解决办法
334
查看次数

标签 统计

c++ ×1

name-lookup ×1

namespaces ×1

overloading ×1