我是一名初学者C ++程序员。在某处必须有一个简单的错误,但是我无法弄清楚为什么它无法编译。
Main.cpp:
#include <iostream>
#include <string>
#include "GUI.h"
#include "GUI.cpp"
int main()
{
Display("Hello World!");
return 0;
}
图形用户界面
#pragma once
void Display(std::string param0);
图形用户界面
#include "GUI.h"
void Display(std::string param0)
{
std::cout << param0;
}
错误是:
Namespace "std" has no member "string" and "cout"
'String' is not a member of 'std'
'String' undeclared identifier
syntax error: missing ')' before identifier 'param0'
'{': missing function header (old-style formal list?)
但是,当我直接将代码粘贴到Main.cpp中时,
#include <iostream>
#include <string>
void Display(std::string param0);
void Display(std::string param0)
{
std::cout << param0;
}
int main()
{
Display("Hello World!");
return 0;
}
它工作正常,因此问题可能出在#includes的错误使用上。
我一直以为include指令只是将代码“注入”到main.cpp中,它只是出于组织目的并将代码分成较小的部分,但现在我很困惑。
这段代码应该是什么样子?为什么?
在这段代码中已经有不良的编程习惯了吗?
编辑:感谢您的帮助,它终于可以编译,所以我认为应该这样处理:
Main.cpp
#include <iostream>
#include <string>
#include "GUI.h"
int main()
{
Display("Hello World!");
return 0;
}
图形用户界面
#pragma once
#include <iostream>
#include <string>
void Display(std::string param0);
也可以做为
#ifndef GUI_H
#define GUI_H
#include <iostream>
#include <string>
void Display(std::string param0);
#endif
图形用户界面
#include "GUI.h"
void Display(std::string param0)
{
std::cout << param0;
}
您忘记添加#include <string>
到中GUI.h
。无需包含GUI.cpp
文件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句