gpt4 book ai didi

C++ 高亮错误?

转载 作者:行者123 更新时间:2023-11-30 04:05:55 25 4
gpt4 key购买 nike

编辑(对反对者):反对意味着你认为“这个问题没有显示任何研究成果;它不清楚或没有用”。如果是这种情况,我很高兴知道您可以证明这篇文章的哪一部分是合理的,请在评论中发表您的答案。谢谢。


这是我遇到的问题的一个最小示例:

#ifndef __ST2_HIGHLIGHT_TEST__
#define __ST2_HIGHLIGHT_TEST__

// This define makes the highlighting fail
#define create_obj( name, val ) obj<decltype(val)> name(val)

template <typename T>
struct obj
{
obj( const T& val ): var(val) {}
T var;
};

#endif

define宏上面的注释解释了问题:如果我注释宏,突出显示就可以了,否则似乎会导致结构定义被错误地突出显示(见下图)。

我怀疑用于突出显示代码的 C++ 规则中存在错误,在这种情况下,我认为完全禁用 define 宏的着色(以防止它们弄乱下面的代码)将是一个很好的解决方案。我不知道在哪里可以找到这些规则以及如何更新它们以丢弃 define 语句。

普通高亮:

enter image description here

疑似错误:

enter image description here

注意:我正在使用以下包:BracketHighlighter、SublimeLinter、DocBlockr、SublimeCodeIntel

最佳答案

一般来说,高亮显示 C++ 代码真的很困难。基本上,荧光笔必须几乎和编译器一样聪明。我假设 ST 使用正则表达式或类似的,这并不总是正确的。我已经看到它失败了很多次。

关于C++ 高亮错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23090112/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com