c++ if (DEBUG) ... '==' 标记之前的预期主表达式

Posted

技术标签:

【中文标题】c++ if (DEBUG) ... \'==\' 标记之前的预期主表达式【英文标题】:c++ if (DEBUG) ... expected primary-expression before '==' tokenc++ if (DEBUG) ... '==' 标记之前的预期主表达式 【发布时间】:2011-05-10 12:07:41 【问题描述】:
  #define DEBUG 1

  void senddata() 
  ...
  if (DEBUG==1) 
  cout << row->Printable () << endl;
  ;

  ....
  

getrow.cc:在函数 'void senddata()' 中: getrow.cc:277: 错误: '==' 标记之前的预期主表达式

IMO 几天前该代码正在运行... - 知道这里出了什么问题吗?

【问题讨论】:

猜测,有些东西是未定义 DEBUG。 是的,我重命名了它,这很好。我最近更改了构建环境,新系统似乎定义/取消定义 DEBUG 。你想把它复制到一个答案中,无人问津吗? 【参考方案1】:

我根本不会那样做。这似乎更合适:

#ifdef DEBUG
    cout << row->Printable() << endl;
#endif

如果您做错了什么(例如在某处忘记了分号),这也会产生更好的警告和错误。

【讨论】:

以上是关于c++ if (DEBUG) ... '==' 标记之前的预期主表达式的主要内容,如果未能解决你的问题,请参考以下文章

C++:在 MSVC 2010 中使用 #if std::is_fundamental<T>::value 进行条件编译

C语言dev c++,选项release,debug,profiling啥意思?

C++编程之Debug

C++调用python的debug版本编译问题

C++中调试(debug) 和 运行(run)有啥区别吗?

C语言dev c++,选项release,debug,profiling啥意思?