C++ Xcode中基于文件类型的奇怪语法错误
我有一个带有此函数的C头:C++ Xcode中基于文件类型的奇怪语法错误,c++,objective-c,c,xcode,openal,C++,Objective C,C,Xcode,Openal,我有一个带有此函数的C头: OSStatus MyGetDataFromExtAudioRef(ExtAudioFileRef ext_file_ref, const AudioStreamBasicDescription* restrict output_format, ALsizei max_buffer_size, void** data_buffer, ALsizei* data_buffer_size, ALenum* al_format, ALsizei* sample_rate);
OSStatus MyGetDataFromExtAudioRef(ExtAudioFileRef ext_file_ref, const AudioStreamBasicDescription* restrict output_format, ALsizei max_buffer_size, void** data_buffer, ALsizei* data_buffer_size, ALenum* al_format, ALsizei* sample_rate);
我可以#在Objective-C文件中包含
这个头文件,并进行良好编译
如果我将同一个Objective-C文件更改为.mm
后缀,而不是.m
,并验证它现在被标识为Objective-C++源代码,我会在上面一行得到一个编译器错误,上面写着Expected')
。虽然不清楚,但它似乎将错误源放在wordoutput\u format
参数上
就括号而言,上面的函数中没有任何语法错误的地方,我不明白为什么这一个更改会有任何不同
这里有人跳出任何东西吗?< /P> < P>简单,限制
关键字不是C++标准的一部分,因此C++编译器(用于编译ObjuleC++代码)不认识它。< /P>有一个<代码>外“C”{ //>代码在顶部,应该阻止它被编译成C++(右)吗?我只是检查验证它。但是我已经注释了。我没有注释过,现在C++编译器失败了,对于代码< >外“C”,括号错误相同。{< /代码>——这个短语也不是C++标准吗?看起来这个问题对于其他人来说并不少见,在类似的位置,我可能只需要试验各种各样的。settings@SebbyJohanns不,代码>外部“C”< /> >只会改变符号名称的名称,以允许C++代码与C代码链接。(或者C客户端代码与你的C++代码的部分链接)。它仍然是使用C++编译程序编译的。好,所以<代码>限制<代码>,不管是什么,都会由C++编译器来处理,而且没有好的方法。@ @ SeByJurns\Code >