我需要初始化这个变量:const WAVEFORMATEX *pFormat
结构的字段有效值。C++ const结构初始化
首先我试着修改声明后:(*pFormat).wFormatTag = 0;
然后很快发现const修饰符不允许这样的动作。然后我尝试了内联初始化的变体
new WAVEFORMATEX() { 0, 0, 0, 0, 0, 0, 0}; //or
WAVEFORMATEX { 0, 0, 0, 0, 0, 0, 0};
第一次抛出'期待a'错误并且第二个初始化表达式不会返回正确的类型。有人可以帮忙吗?有一个我以后使用的函数调用必须有一个const WAVEFORMATEX *类型的参数。
这里的结构文档:http://msdn.microsoft.com/en-us/library/windows/desktop/dd390970(v=vs.85).aspx
如果该函数采用'const WAVEFORMATEX *'参数,这意味着您必须将它传递给WAVEFORMATEX结构的地址,并且该函数保证不会更改结构的内容。 – 2014-08-29 21:04:06
为何选票回落?对于为什么跛脚的原因,没有任何评论的回应票! – gordlonious 2014-08-29 21:09:38
我不确定你想要解决的问题。使用'const T * ptr = new T;'是不理想的。你不能在这样的指针上使用'delete ptr;'。你会泄漏记忆。 – 2014-08-29 21:22:30