是的,它的作用:
#include <string>
int main(void)
{
static const size_t Capacity = 12;
std::string Months[Capacity] = { "Jan", "Feb", "Mar", "April", "May",
"June", "July", "Aug", "Sep", "Oct",
"Nov", "Dec" };
}
你的错误是可能与别的东西。你记得使用std::
吗?不知道,它可能是任何东西。是Capacity
大小错误?等等
注意你的代码实际上并不是一个常量数组。这就是:
#include <string>
int main(void)
{
static const size_t Capacity = 12;
static const std::string Months[Capacity] = { "Jan", "Feb", "Mar", "April",
/* ^^^^^^^^^^^^ */ "May", "June", "July", "Aug",
"Sep", "Oct", "Nov", "Dec" };
}
而且,你实际上并不需要Capacity
,因为别人会显示出来,你可以使用const char*
,如果你愿意,你虽然失去了std::string
接口。
是什么ARRAY_CAPACITY?它是如何声明的。什么错误(通常是件好事)? 你真的想要一个'string'(object)数组,而不是c-string数组(char数组)吗? – Romain
'#DEFINE ARRAY_CAPACITY 12' –