在';之前预期的主表达式出错;char';
我有个问题, 我正在尝试这个在';之前预期的主表达式出错;char';,c,compiler-construction,C,Compiler Construction,我有个问题, 我正在尝试这个 if (strncmp(m_DSServer, "TCP:", 4) != 0 ) return DS_AS_PROCESS_NAME_INCORRECT; if if(strchr(char *(m_DSServer[4]),':')== NULL) //here it is giving me primary-expression before 'char return DS_AS_PROCESS_NAME_INCORRECT;
if (strncmp(m_DSServer, "TCP:", 4) != 0 )
return DS_AS_PROCESS_NAME_INCORRECT;
if
if(strchr(char *(m_DSServer[4]),':')== NULL) //here it is giving me primary-expression before 'char
return DS_AS_PROCESS_NAME_INCORRECT;
else
if(strchr(m_DSServer[4],'/')== NULL)
return DS_AS_PROCESS_NAME_INCORRECT;
如果要从5开始搜索。性格
strchr(&m_DSServer[4],':')
如果要从5开始搜索。性格
strchr(&m_DSServer[4],':')
char*(mu DSServer[4])
毫无意义。我猜您想在字符串中搜索:
,从第4个字符开始。在这种情况下,您需要指向第四个字符的指针:
if (strchr(m_DSServer+4,':') == NULL)
^^^^^^^^^^^^
char*(mu DSServer[4])
毫无意义。我猜您想在字符串中搜索:
,从第4个字符开始。在这种情况下,您需要指向第四个字符的指针:
if (strchr(m_DSServer+4,':') == NULL)
^^^^^^^^^^^^
首先,具有<代码>类型(value)< /C> >表单的CAST语法是一个主要的C++语法。C语言不支持这个问题。您的问题被标记为[C],而不是[C++]。在C语言中,当您要执行强制转换时,必须使用
(type)值
语法
第二,即使在C++中,m_DSServer[4]
值(显然是char
)转换为指针类型,完全不清楚您试图做什么。这根本没有任何意义
如果要从字符串
m_DSServer
中的第四个位置开始搜索:
字符,应该执行类似于strchr(&m_DSServer[4],“:”)
的操作。不需要强制转换。< P>首先,具有<代码>类型(value)< /C> >表单的CAST语法是一个主要的C++语法。C语言不支持这个问题。您的问题被标记为[C],而不是[C++]。在C语言中,当您要执行强制转换时,必须使用(type)值
语法
第二,即使在C++中,m_DSServer[4]
值(显然是char
)转换为指针类型,完全不清楚您试图做什么。这根本没有任何意义
如果要从字符串
m_DSServer
中的第四个位置开始搜索:
字符,应该执行类似于strchr(&m_DSServer[4],“:”)
的操作。无需强制转换。我想您需要在char*cast周围加上括号。比如(char*)。然而,发布更多的代码可能会有所帮助。另外,if是否真的被复制了,还是输入错误?我试图格式化这段代码,但放弃了。我不明白什么是代码,什么是文本。我怀疑您需要在char*cast周围加括号。比如(char*)。然而,发布更多的代码可能会有所帮助。另外,if是否真的被复制了,还是输入错误?我试图格式化这段代码,但放弃了。我不明白什么是代码,什么是文本。谢谢不,这是我要问的。谢谢不,这是我要问的