0

当我的设置如下所示时,如何使用字符数组数组:

在类.h

    namespace foomaker
    {
        class foo
        {
            const char  **mystringarray;

            bool ipitythefoo ();

        };
    }

在 foo.cpp #include classes.h

    namespace foomaker
    {

        bool foo::ipitythefoo()
        {
            *mystringarray[] = {"Mr. T","Gold Chains","Mohawks"};

            return false;
        };
    }

编译器抛出错误:

    1>.\foofactory.cpp(5) : error C2059: syntax error : ']'
    1>.\foofactory.cpp(5) : error C2143: syntax error : missing ';' before '{'
    1>.\foofactory.cpp(5) : error C2143: syntax error : missing ';' before '}'

或者这甚至可能吗?

无法为此使用字符串、映射或向量。

最终结果是,这将用于我需要通过位置编号获取的错误字符串。错误字符串特定于此类。

谢谢

4

1 回答 1

2

你想做的事情是不可能的。您正在尝试重新初始化数组,但这是无法完成的。也许,鉴于您的用例是错误字符串,您可以执行以下操作:

    bool foo::ipitythefoo()
    {
        static const char* actualstringarray[] = {"Mr. T","Gold Chains","Mohawks"};
        *mystringarray = actualstringarray;

        return false;
    };

但是,从一个错误字符串数组开始会更有意义static

于 2012-05-26T20:08:40.453 回答