我有这个标识无法解析标识符:“COL”
#define COL 32
我用它来创建一个数列,都做工精细然而,调试代码的一部分,我在其中,我添加COL来观看(Visual Studio),并得到了“无法解析标识符”的消息,而不是一个值。代码编译和运行良好,但我不能检查某些东西。我试图注释掉我的功能如果我在那里做了某些事情,但这并没有帮助,我一直在研究代码几个星期,它一直运行良好,我没有更新任何东西,我完全无所适从......
我有这个标识无法解析标识符:“COL”
#define COL 32
我用它来创建一个数列,都做工精细然而,调试代码的一部分,我在其中,我添加COL来观看(Visual Studio),并得到了“无法解析标识符”的消息,而不是一个值。代码编译和运行良好,但我不能检查某些东西。我试图注释掉我的功能如果我在那里做了某些事情,但这并没有帮助,我一直在研究代码几个星期,它一直运行良好,我没有更新任何东西,我完全无所适从......
宏是在编译的最早阶段由预处理器替换为。之后,代码中没有COL
符号。
如果使用C++,做到这一点的C++方式:
namespace constants {
constexpr int coloums = 32;
}
预处理器的使用正在变得越来越远,每次之间的C++标准的修订。我们不需要它来定义积分常量,事实上从来没有这样做。
谢谢!我替换了所有的#define,现在我可以遵循所有的值。 – Flisp
@Flisp - 很高兴它为你整理:) – StoryTeller
'COL'不是一个变量,在所有的地方'COL'用在代码中它将被替换为它的值:https://en.wikipedia.org/wiki/C_preprocessor – Raxvan
我认为你应该因为它不是一个标识符,或者如果你能够做到这一点,但是从VS那里得到投诉,它可能是一个错误或一个错误配置。在我看来,VS是绝对的BS,所以切换到Linux并使用纯粹的GCC或铿锵声。 – ForceBru
我可以用cout <<“COL”<< COL <<“\ n”打印值; – Flisp