我创建了一个非常简单的项目来测试我的一个单独的问题。
指针.cpp
struct PtrHolder {
int num;
int* ptr;
PtrHolder(int i) {
num = i;
ptr = new int[i];
ptr[0] = i;
}
~PtrHolder() {
delete[] ptr;
}
};
int main(int argc, char* argv[]) {
PtrHolder holder(2);
PtrHolder* holderAddr = new PtrHolder(3);
return 0;
}
我在我的项目中添加了一个文件并创建了这个类,但不小心作为头文件。我只是更改了它的扩展名并将其拖到
Source Files
过滤器视图。.
调试将失败并且构建输出将不显示
.cpp
s,尽管实际上有一个。
我复制了源代码,删除了文件,在工程中适当的添加了一个
.cpp
文件。现在构建得很好。因此,导致我的问题。
使用此方法将.h转换成.cpp文件无法生成.exe文件,也就是说Visual Studio目前无法直接将.h和.cpp文件相互转换。 我建议你参考这个issue.