I'm using vim 8 to code C++11.
I've installed the vim plugins: YCM, ALE, vim-code-dark and vim-cpp-enhanced-highlight, however, it seems that there is some error on syntax highlighting.
As you see, scene and arg are highlighted with yellow, but they are variables, which shouldn't be highlighted, just like isColor, it seems that both of them are regarded as functions, I think the reason is the way of initialization: string arg("XXX");. It seems that this kind of initialization is regarded as a declaration of function, instead of a variable.
I don't know who is controlling this mechanism. Is it vim 8? or the vim plugins, such as YCM, ALE?
Is there some way to fix this error?

vim-code-darkandvim-cpp-enhanced-highlight, all becomes white except the C++ keywords. Then I addedvim-code-darkback, it only changed the colors of the C++ keywords. So I think this issue comes fromvim-cpp-enhanced-highlight. – Yves Mar 28 '20 at 03:16vim-cpp-enhanced-highlightcan not highlight the custom class name (SysToolin this example), so I think vim 8 do something too. So you are right about "either enhanced highlight or vim 8"... – Yves Mar 28 '20 at 03:19let g:cpp_no_function_highlight = 1? That will disable highlighting of user defined functions... Yes it will disable more than these two cases, but maybe that's acceptable to you? – filbranden Mar 28 '20 at 04:05(and that's it: https://github.com/octol/vim-cpp-enhanced-highlight/blob/master/after/syntax/cpp.vim#L39 perhaps disabling it makes sense... – filbranden Mar 28 '20 at 04:11Scene scene{cols, lines};andstd::string arg{argv[1]};, right? – filbranden Mar 28 '20 at 04:12Syntaxis one of the most complicate stuff invim,c++is one of the most complicate programming language, two complicate stuff add together is too complicate. Let it go. I usevim-cpp-enchanced-highlighttoo, I see highlight mistake from time to time. Just let it go, it wont matter too much. – dedowsdi Mar 28 '20 at 05:51