【问题标题】:Getting an error while trying to insert element to map尝试将元素插入地图时出错
【发布时间】:2013-10-26 19:52:29
【问题描述】:

错误 C2143:语法错误:缺少 ';'在“。”之前
错误 C4430:缺少类型说明符 - 假定为 int。注意:C 不支持 default-int 错误 C2371: 'TranslationMap' : redefinition;不同的基本类型

static UString FindTranslatedString(UString propertyName);
static std::map<UString,UString> TranslationMap ;



static UString engString("TextAlignmentPosition");
static UString transString(MSGTXT("TextAlignmentPosition"));

TranslationMap.insert(std::pair<UString,UString>(transString,engString));

UString FindTranslatedString(UString propertyName)
{
    UString NotFound("CannotFind");
    std::map<UString, UString>::iterator itr;
    itr = TranslationMap.find(propertyName);
    if(itr!= TranslationMap.end())
    {
        return itr->second;
    }
    else
    {
        return NotFound;
    }
}

【问题讨论】:

  • 语句进入函数。

标签: c++ visual-c++ map stl


【解决方案1】:

1) 您使用的是 c 编译器 (gcc) 还是 c++ 编译器 (g++)?

2) 如果是你的整个代码,把TranslationMap.insert() 全局放在是错误的,你应该把它放在一个函数中,例如主要()

3)MSGTXT的定义是什么?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-04
    相关资源
    最近更新 更多