List had elements.  Then, the list became empty.
 
Hi.
I have a weird problem in C++.  I do the following.
Configuration gConfiguration; // global variable
BOOL LoadConfig()
{
HotTags ConfigHotTags = gConfiguration.GetHotTags();
for (long jj = 0; jj < pNodeList->length; jj++)
{
    pNodeList->get_item(jj, &pNode);
    pNamedNodeMap = pNode->Getattributes();
    pNode1 = pNamedNodeMap->getNamedItem(L"ActionType");
    _bstr_t ActionType = pNode1->Gettext();
    pNode1 = pNamedNodeMap->getNamedItem(L"ActionScope");
    _bstr_t ActionScope = pNode1->Gettext();
    _bstr_t Tag = pNode->text;
    HotTag* pHotTag = new HotTag((LPTSTR) ActionType, (LPTSTR) ActionScope, 
(LPTSTR) Tag);
    ConfigHotTags.push_back(pHotTag);
}
fDebug << "Hot Tag Test" << endl;
list<HotTag*>::iterator iter;
for (iter = ConfigHotTags.begin(); iter != ConfigHotTags.end(); iter++)
{
    fDebug << (*iter)->GetActionType() << ", " << (*iter)->GetActionScope() << 
", " << (*iter)->GetTag() << endl;
}
}
The Hot Tag Test result is fine, printing the values.  But, when I try to 
access the elements from another function, ConfigHotTags is empty.
It prints ???0??? from the ???if??? block below when I call GetHotTagStart().
int GetHotTagStart(int iStart, string& sDataTemp, string& sTag)
{
    ofstream fDebug("c:\\inetpub\\scripts\\debug.txt", ios::out | ios::app);
    int iResult = string::npos;
    int iIndex = 0;
    bool bFound = false;
    string sTempTag;
    HotTags ConfigHotTags = gConfiguration.GetHotTags();
fDebug << "GetHotTagStart()" << endl;
    list<HotTag*>::iterator iterator1;
    if (ConfigHotTags.size() == 0)
        fDebug << "0" << endl;
    else if (ConfigHotTags.size() == 3)
        fDebug << "3" << endl;
    else
        fDebug << "dont know" << endl;
    // so on
}
Here is my Configuration class definition from .h file.
typedef std::list<HotTag*> HotTags;
class Configuration
{
    private:
        HotTags _HotTags;
    public:
        Configuration();
        HotTags& GetHotTags();
};
From CPP file,
HotTags& Configuration::GetHotTags()
{
    return (_HotTags);
}
Why is my ConfigHotTags empty in GetHotTagStart(), when the list had 
elements in LoadConfig()?
Appreciate it.
J
-- 
Be Cool!