无法推断出 const auto&

Can't deduce const auto&

我有下面这行代码,效果很好:

const auto& dict = m_DictionaryAbbreviationsAndEnglish.Content;

现在我想引入一个 "if-then" 子句,但编译器告诉我“无法推断 'auto' 类型(需要初始化程序):

const auto& dict;

if (uSkipAbbreviationsAndEnglish)
{
    dict = m_DictionaryNoAbbreviationsNoEnglish.Content();
}
else
{
    dict = m_DictionaryAbbreviationsAndEnglish.Content();
}

然而,当我这样初始化它时...

const auto& dict=NULL;

...,我无法使用这样的代码分配 "dict":

dict = m_DictionaryNoAbbreviationsNoEnglish.Content();

错误是"Expression must be a modifiable lValue."

谁能告诉我如何正确执行此操作?

谢谢。

ps:内容是这样的:

map<wstring,wstring> &clsTranslations::Content()
{
    return m_content;
}

这就是条件运算符的用途:

const auto& dict = uSkipAbbreviationsAndEnglish ? 
                   m_DictionaryNoAbbreviationsNoEnglish.Content() : 
                   m_DictionaryAbbreviationsAndEnglish.Content();