gpt4 book ai didi

c - 错误 C2143 : syntax error : missing ';' before 'type' when transferring pointer

转载 作者:太空宇宙 更新时间:2023-11-04 08:43:35 25 4
gpt4 key购买 nike

当我尝试将指针转移到另一个指针时,我被以下错误弄糊涂了。有没有人能告诉我为什么会发生这个错误?

它说

error C2143: syntax error : missing ';' before 'type'

传递指针时如下:

void compressString(char * pStr)
{
char * pInputStr ;
// ...
pInputStr = pStr; //**I can not understand why this sentence is error.**
// ...
}

但是这个可以工作:

void compressString(char * pStr)
{
char * pInputStr = pStr; //No error will be alerted.
// ...
}

这是该函数的更完整版本:

void compressString(char * pStr)
{

char * pInputStr = pStr;
char * pCompressedStr = NULL;

int totalRepeatChar;
int currentPointerPosition;
int lenCompressedStr = 0;
char testTemp;
int i = 0;

pInputStr = pStr; //I can not understand why this sentence is error.

char arrIntCoverted[DIGITALUINTNUM+1] = {'\0'};

// And then lots more code in the function
}

最佳答案

你得到的错误是因为你混合了声明和可执行语句,而 Visual Studio 使用旧的 C 方言,你不能这样做。

这是一个可执行语句:

  pInputStr = pStr;        //I can not understand why this sentence is error. 

您得到的错误实际上并不在那一行,而是在下一行,即声明:

  char arrIntCoverted[DIGITALUINTNUM+1] = {'\0'};

关于c - 错误 C2143 : syntax error : missing ';' before 'type' when transferring pointer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22554436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com