我想std::array作为参数发送到我的虚函数
class Handler:
{
public:
template <std::size_t N>
virtual void handle(const std::array<char, N>& msg, std::vector<boost::asio::const_buffer>& buffers) = 0;
};
Run Code Online (Sandbox Code Playgroud)
但是gcc说templates may not be 'virtual'.那么我如何传递std::array给我的功能呢?
成员函数模板可能不是虚拟的.看到这个问题.
但是,你可以做一个虚成员函数需要std::array的特定通过移动尺寸N出到Handler:
template <size_t N>
class Handler:
{
public:
virtual void handle(const std::array<char, N>& msg,
std::vector<boost::asio::const_buffer>& buffers) = 0;
};
Run Code Online (Sandbox Code Playgroud)
或者简单地传递vector<char>给定上下文的a可能更有意义:
class Handler:
{
public:
virtual void handle(const std::vector<char>& msg,
std::vector<boost::asio::const_buffer>& buffers) = 0;
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
386 次 |
| 最近记录: |