小编psq*_*are的帖子

'('标记之前)意外的主表达式

我搜索了这个问题,但我无法弄清楚如何解决这个问题:

class DtEffect;
template <typename VertexFormat> 
class DtEffectRenderer : public DtFormatRenderer<VertexFormat>
{
public:

template <typename MemberType>
static DtEffect::VertexAttribPtrInfo VertexAttrib(const MemberType VertexFormat::* member)
{
    return DtEffect::VertexAttribPtrInfo(
        reinterpret_cast<const GLvoid*>(offsetof(VertexFormat, *member))
        , DtAttributeType<MemberType>::value
        , DtAttributeType<MemberType>::size);
}

protected:
   DtEffect* myEffect;
};
Run Code Online (Sandbox Code Playgroud)

错误消息:

../../include/vrvGraphics/DtEffectRenderer.h: In static member function ‘static makVrv::DtEffect::VertexAttribPtrInfo makVrv::DtEffectRenderer<VertexFormat>::VertexAttrib(const MemberType VertexFormat::*)’:
../../include/vrvGraphics/DtEffectRenderer.h:115: error: expected primary-expression before ‘(’ token
../../include/vrvGraphics/DtEffectRenderer.h:116: error: expected unqualified-id before ‘*’ token
../../include/vrvGraphics/DtEffectRenderer.h:116: error: expected ‘)’ before ‘*’ token
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

c++ templates

1
推荐指数
1
解决办法
402
查看次数

if - else vs if和return revisited(不询问多次返回是否正常)

关于代码完成的这个例子:

Comparison Compare(int value1, int value2)
{
if ( value1 < value2 )
 return Comparison_LessThan;
else if ( value1 > value2 )
 return Comparison_GreaterThan;
else
 return Comparison_Equal;
}
Run Code Online (Sandbox Code Playgroud)

你也可以这样写:

Comparison Compare(int value1, int value2)
{
 if ( value1 < value2 )
  return Comparison_LessThan;

 if ( value1 > value2 )
  return Comparison_GreaterThan;

 return Comparison_Equal;
}
Run Code Online (Sandbox Code Playgroud)

哪个更优化?(除了可读性等)

c++

0
推荐指数
3
解决办法
808
查看次数

标签 统计

c++ ×2

templates ×1