-1

我正在开发一个c++项目(我是一个完整的 c++ n00b),该项目使用根命名空间来访问::tolower以下代码行中的方法,但是我更改了一些构建设置并出现错误。

CCString * CCBReader::toLowerCase(CCString * pString) {
    std::string copy(pString->getCString());
    std::transform(copy.begin(), copy.end(), copy.begin(), ::tolower);
    return CCString::create(copy.c_str());
}

构建更改对于大多数项目都是必不可少的,并且更改这些不是一种选择。因此,作为一种解决方法,我想尝试使用根命名空间作为前缀。例如:

std::transform(copy.begin(), copy.end(), copy.begin(), rootns::tolower);

这可能吗?如果是这样,怎么做?

由于你们中的许多人已经无视我的理想解决方案是不可能的,并询问错误是什么,看看您是否可以自己解决,这里是错误的相关部分:

error: '::tolower' has not been declared
4

1 回答 1

2

根命名空间没有名称,因此没有其他方法可以解决它。

相反,您将不得不重新检查您的构建更改,并可能考虑您得到的错误到底是什么。该错误可能与命名空间无关。它可能是由代码前面的其他问题触发的。

于 2012-11-05T15:35:29.137 回答