下面的c ++代码有什么问题?

use*_*729 3 c++ syntax

HRESULT SaveGraphFile(IGraphBuilder *pGraph, WCHAR *wszPath) 
{
    const WCHAR wszStreamName[] = L"ActiveMovieGraph"; 
    HRESULT hr;
    IStorage *pStorage = NULL;

    // First, create a document file that will hold the GRF file
    hr = StgCreateDocfile(
         wszPath,
         STGM_CREATE ? STGM_TRANSACTED ? STGM_READWRITE ? 
            STGM_SHARE_EXCLUSIVE,
         0, &pStorage);
    ....
Run Code Online (Sandbox Code Playgroud)

我把它复制到了某处,但编译器正在报告:

syntax error : missing ')' before identifier '?'
Run Code Online (Sandbox Code Playgroud)

为什么被|视为标识符?

JSB*_*ոգչ 12

你的管道不是真正的管道.STGM常量之间的字符应该是|(ASCII 124),但你拥有的是¦(ASCII 166,严格来说不是ASCII).看起来你是一个错误的复制粘贴的受害者.

  • 令人印象深刻的发现,@ JSBangs (2认同)