我有两个文件,my_program.cpp
它的头文件my_program.h
.
my_program.cpp
仅包含以下内容:
#include "my_program.h"
using namespace std;
my_program.h
包含一个指向返回 a 的函数的指针wstring
,如下所示:
using namespace std;
typedef wstring (*my_function)(wstring, int, int, int, int);
该程序不会在这种状态下编译(停在 typedef ... 说 ISO C++ 禁止声明没有类型的“wstring”)但是如果我在 .cpp 文件中添加#include <iostream>
之前#include "my_program.h"
,程序会奇迹般地编译。
为什么会这样?我只是希望我没有犯愚蠢的错误,我现在要被嘲笑了。