gpt4 book ai didi

使用 g++ -c : compiler recognizes a const string& as int 的 c++ 编译器错误

转载 作者:行者123 更新时间:2023-11-28 00:16:44 28 4
gpt4 key购买 nike

我创建了一个具有构造函数的类 Products

Product::Product(const int &num,const float &pr,const std::string &str):
number(num),price(pr),name(str)
{
}

我在头文件中有声明,在另一个源文件中有实现当我使用 g++ -c 编译它时出现错误:

g++ -c Product.cpp
Product.cpp:14: error: prototype for 'Product::Product(const int&, const float&, const std::string&)' does not match any in class 'Product'
Product.h:5: error: candidates are: Product::Product(const Product&)
Product.h:10: error: Product::Product(const int&, const float&, int)

为什么会这样?为什么编译器将 const std::string & 替换为 int?

最佳答案

问题是你忘了#include <string>在您的 header 中,导致 g++ 发出一个有问题的诊断,该诊断返回到 int对于它不理解的类型。

关于使用 g++ -c : compiler recognizes a const string& as int 的 c++ 编译器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29787911/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com