我正在编写一个c++应用程序,因为使用c++已经有一段时间了。我对此功能有疑问:

unsigned char* BuildArray(string integerString)
{

    int numIndexs = integerString.length() + 1;

    unsigned char charArray[numIndexs];

    /*
     * Loops through and stores all of the characters in the string into a unsigned char array
     */
    for(int i = 0; i < numIndexs; i++)
    {
         if(i == 0)
         {
             charArray[0] = 0;
         }
         else
         {
             charArray[i] = integerString.at(i-1) - 48;
         }
    }

    outputArray(charArray);
    unsigned char* returnValue = &charArray[0];

    return returnValue;

}

它给我一个错误:歧义'unsigned char * BuildArray(std::string)的新声明。我检查了一下,唯一能找到的其他帖子是:
"ambiguating new declaration" error for a templated method in a templated class

但是,答案对我来说还不够清楚。因此,我不确定如何解决此问题。

最佳答案

我找到了。我对解释我的修复程序的主要帖子发表了评论。抱歉,添麻烦了!

关于arrays - 含糊不清的新声明'unsigned char *,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46042017/

10-13 09:29