小编Mat*_*ros的帖子

C++ 专用模板函数接收文字字符串

我正在写一个模板方法,它有很多专业。

class FieldValue
{
public:
   ...
   template< typename T >
   void Set( const T& value );
   ...
};
Run Code Online (Sandbox Code Playgroud)

其中之一是:

template <>
void FieldValue::Set< const char* >( const char* const& value )
{
   ...
}
Run Code Online (Sandbox Code Playgroud)

但是当我尝试打电话时

FieldValue fieldValue;
fieldValue.Set( "literal string" );
Run Code Online (Sandbox Code Playgroud)

它需要一个const char[14]长度为的专业化,而"literal string"不是一个const char*

是否有任何解决方法而无需将其转换为const char*

更新

在 Rakete1111 的推荐之后,这就是我所做的:

class FieldValue
{
public:
   ...
   template< typename T >
   void Set( const T& value );

   template< std::size_t N >
   void Set( const …
Run Code Online (Sandbox Code Playgroud)

c++ templates string-literals template-specialization

5
推荐指数
1
解决办法
1169
查看次数

RabbitMQ 标头交换,其中 X-Match 等于任何

有人可以解释为什么会这样吗?

我创建了一个标头交换并将其绑定到三个具有不同参数的队列,如下所示:

在此处输入图片说明

然后我尝试发布一条消息,其中任何格式为 pdf 的队列都会收到它,如下所示:

在此处输入图片说明

但是交换似乎无法将其路由到正确的队列,因为我收到以下消息:

在此处输入图片说明

由于我找不到和我有同样问题的人,这可能是我在这里做错了

请注意,例如,如果我发送x-match:allformat: pdftype: report,队列test-queue-A正常获取

rabbitmq rabbitmq-exchange

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