2015-07-12 156 views
0

我正在尝试遵循JUCE(音频处理API)的一些教程。 在合成器插件波没有与下面的一类:C++函数参数数据类型没有名称

//======================================================================== 
/** A demo synth sound that's just a basic sine wave.. */ 

class SineWaveSound : public SynthesiserSound 
{ 
public: 
    SineWaveSound() {} 

    bool appliesToNote (int /*midiNoteNumber*/) override { return true; } 
    bool appliesToChannel (int /*midiChannel*/) override { return true; } 
}; 

注意函数的参数有一个数据类型,但缺乏的是应该陪他们传统的变量名。

我从来没有见过这个。有人可以解释为什么这是有效的。 插件按预期工作。

+0

这里真正的问题是:为什么它不应该是有效的?许多人问这个问题来自C背景,而在C中这是不允许的。但是在C语言中,这是被禁止的,因为它会在K&R风格函数声明和原型风格函数声明之间产生歧义。由于在C++中这种模糊不存在,限制不再存在。 – AnT

回答

2

这是有效的,因为语言规范是这样说的。这些名字不会在任何地方使用,所以它们不是必需的。

+0

感谢您指出重复。我读了另一个链接,现在我明白了。它最有可能在不同的地方使用不同的接口。注释掉的名字在某些情况下可能会被取消注释。 – Miek