Storing a single character to Queue<string>: error : <p>I am practicing on LeetCode. </p>

<p>I have the following CPP code:</p>

<pre><code>string s="abcd"; 
queue&lt;string&gt; q; 
string temp; 
temp=s[2]; 
queue.push(temp);
</code></pre>

<p>Error:</p>

<blockquote>
  <p>Line 5: conversion from
  '__gnu_cxx::__alloc_traits >::value_type {aka
  char}' to non-scalar type 'std::__cxx11::string {aka
  std::__cxx11::basic_string}' requested</p>
</blockquote>

<p>I am wondering why this happen? I can't really change thte structure of this because temp will be growing over time (eg., temp='a'+'b'+'c';  queue.push(temp)); </p>
