随笔 - 170  文章 - 1  评论 - 5  阅读 - 27万 

c++ 中程序模板方法 提示 more than one instance of overloaded function 错误 , 有可能是调用的时候没有加空间名称,或者

模板方法放置的空间不对。

如我在头文件 定义了 模板方法 

namespace threading {

template <typename T, typename... Args>
std::unique_ptr<T> make_unique(Args&&... args) {
return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
}
 
实现文件中,正常理解应该不用加 threading, 可是这里不加,就会提示错误。所以解决就是加上。
namespace threading {

Executor::Executor()
: m_taskQueue{std::make_shared<TaskQueue>()},
m_taskThread{threading::make_unique<TaskThread>(m_taskQueue)} {
m_taskThread->start();
}
 
posted on   swing07  阅读(1776)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示