Pointer to member template classes
<p>AbstractFieldCollection is the base class of hardwareMissingAlarm, etc.
hardwareMissingAlarm belongs to another class that is a template.</p>

<pre><code>alarmFieldCollection.push_back((AbstractAlarmField Device::*)  &amp;Device::hardwareMissingAlarm);
alarmFieldCollection.push_back((AbstractAlarmField Device::*)  &amp;Device::hardwareErrorAlarm);
alarmFieldCollection.push_back((AbstractAlarmField Device::*)  &amp;Device::badConfigAlarm);``
</code></pre>

<p>Then in another function I'm reading the vector like this:</p>

<pre><code>for(int32_t i=0; i&lt;alarmFieldCollection.size(); i++) 
{
    AbstractAlarmField Device::* pAF = alarmFieldCollection[i];
    std::cout &lt;&lt; "isRaised: "&lt;&lt; pDev &lt;&lt; std::endl;
    if ((pDev-&gt;*pAF).isRaised(pContext))
    {
           .....
    }
 }
</code></pre>

<p>and <code>pDev</code> is the Device object, however <code>pDev-&gt;*pAF</code> returns <code>NULL</code>. In fact when I'm printing <code>&amp;Device::hardwareErrorAlarm</code>, <code>&amp;Device::hardwareMissingAlarm</code>  the result is 1. I don't know what I'm doing wrong.</p>

<p><code>isRaised</code> is a method that belongs to the <code>class AbstractAlarmField</code>. </p>

<p>Thanks in advance.</p>
