回 帖 发 新 帖 刷新版面

主题:[讨论]关于#define的疑问

比如我有一个a.h的文件,代码如下

#ifndef A_
#  define A_   //注意#和define之间有多个空格
#endif

然后有一个a.cpp的文件,代码如下

#include <iostream>
#include "a.h"

using namespace std;


int main()

{
    cout << A_ << endl;
    return 0;

}

这里有两个问题:

1.  #和define之间有多个空格,好像对程序没有什么影响

2.  为什么在编译程序时cout << A_ << endl;这句报错?难道不能输出A_的值吗?如果不能#define A_ 被定义成了什么?

回复列表 (共1个回复)

沙发

既然A_为空 那么 cout << A_ << endl; 不就是 cout << << endl; 吗? 自然编译时失败

我来回复

您尚未登录,请登录后再回复。点此登录或注册