C++:声明一个在头文件中返回字符串的函数?

Posted

技术标签:

【中文标题】C++:声明一个在头文件中返回字符串的函数?【英文标题】:C++:declaring a function that returns string in header file? 【发布时间】:2020-04-19 05:53:48 【问题描述】:

在我的一个模块中,我有一个函数 (changeNum),它返回一个字符串并接受一个字符串参数。我试图在我的头文件中声明这个函数如下:

std::string changeNum(std::string s); 

[我也将字符串头文件包含在头文件中]

但我的头文件中仍然出现以下错误:“未知类型名称'字符串'”我该怎么办?

这是整个代码: 我的头文件如下:

#pragma once
#include <string>
std::string changeNum(std::string s); 

我的带有函数changeNum的模块定义如下

#include <string>
string changeNum(string s)
    return s;

【问题讨论】:

粘贴整个代码 我的头文件如下:#pragma once #include string changeNum(string s); 我当前的模块函数现在就是这样:string changeNum(string s) return s; 编辑您的问题,而不是在评论中添加代码。 这能回答你的问题吗? Why is "using namespace std;" considered bad practice? 【参考方案1】:

试试看:

头文件.h

#pragma once
#include <string>

std::string changeNum(std::string s);

源.cpp

#include "Header.h"

std::string changeNum(std::string s) 
    return s;

main.cpp

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

int main()

    std::string sample_str = changeNum("Hello");
    std::cout << sample_str.c_str();

在 VS 上测试并从上述代码中删除了#include "pch.h"

【讨论】:

以上是关于C++:声明一个在头文件中返回字符串的函数?的主要内容,如果未能解决你的问题,请参考以下文章

C++头文件中声明类的小问题

为啥在头文件中声明并在文件中定义会给出多个定义错误?

C++ 中的模板类声明头文件和实现文件分离后,如何能实现正常编译?

在头文件中声明 Verilog 函数

C ++,如何在头文件中声明结构

C++:命名空间——如何在头文件和源文件中正确使用?