【问题标题】:embedded function using ofstream使用 ofstream 的嵌入式函数
【发布时间】:2013-08-01 21:42:41
【问题描述】:

由于以下错误消息,我无法执行我的程序: undefined reference to 'typeOfTriangle(int*, std::basic_ofstream<char, std::char_traits<char> >&)'

void classify(int sides[], ofstream &outfile)
{

  int largest(int []);
  void typeOfTriangle(int [], ofstream &);
  bool isRightTriangle(int []);

  outfile << "Largest Sides: " << largest(sides) << endl;
  typeOfTriangle(sides,outfile);

  if(isRightTriangle(sides))
      outfile << "Right Triangle\n";
  else
      outfile << "Not a right triangle\n";
}

【问题讨论】:

  • 能看到typeOfTriangle的定义吗?
  • 听起来typeOfTriangle 是在另一个源文件中定义的(如果有定义的话)。
  • “正在执行”或者正在编译?
  • 你为什么要在另一个函数中转发声明函数(不确定这是否是你的意图)?通常的前向声明是在全局范围内进行的。另外,如果函数定义是在另一个源文件中提供的,你编译链接了吗?
  • @Borgleader ideone.com/ZKETGC

标签: c++ ofstream


【解决方案1】:
void typeOfTriange(int sides[], ofstream &outfile)
{
    //..
}

根据您的评论this 是您对与您的前向声明不匹配的函数的定义。你在三角形中忘记了一个 l。

【讨论】:

  • 我们都会不时这样做;)
【解决方案2】:

这是一个链接器错误,要么你没有定义 typeOfTriangle,要么你没有链接你所有的目标文件。

【讨论】:

    猜你喜欢
    • 2016-01-08
    • 1970-01-01
    • 1970-01-01
    • 2014-02-10
    • 2014-09-08
    • 1970-01-01
    • 1970-01-01
    • 2019-02-05
    • 1970-01-01
    相关资源
    最近更新 更多