繁体   English   中英

在C ++中的struct中的函数标头中声明(简单)

Declaration in header of function in struct in C++ (easy)

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有3个文件,分别是作业需要的1个main.cpp,1 Point.cpp和1 Point.h。 问题:问两个整数,先保存在struct-object中,然后输出最高的数字:main.cpp

#include <iostream>
#include "Uebung8_1.h"
using std::cout;
using std::cin;
int main(){
int z;
int r;
cout << "Enter x: " << "\n";
cin >> z;
cout << "Enter y: " << "\n";
cin >> r;
Point point;
point.x = z;
point.y = r;

if (point.simsalabim(point.x, point.y) != true){
    int h = point.y;
    point.y = point.x;
    point.x = h;
}
cout << "\n" << point.x <<"\n" << point.y;

return 0;
}

Point.cpp

struct Point{
int x;
int y;
bool simsalabim(int x, int y){
    if (x >= y){
        return true;
    }
    else{
        return false;
    }

}
};

Point.h

struct Point{ int x; int y; bool simsalabim(int x, int y);};

该代码可以正常工作,而无需声明(和使用)simsalabim,该声明应确定x是否小于y。 我认为问题出在标题中,但是请记住,我应该使用程序的这种结构,并且不能完全决定它的外观。 它看起来应该像这样。 你能帮我做这份工作吗?

提前Thx

2 个回复

我认为Point.cpp应该看起来更像

#include "Point.h"

bool Point::simsalabim(int x, int y){
    return x >= y;

}

您应该将simsalabim更改为:

struct Point{
   int x;
   int y;
   bool simsalabim(){
      return (x >= y);
   }
};

并更改其调用方式:

if (point.simsalabim() != true){
    int h = point.y;
    point.y = point.x;
    point.x = h;
}

在Point.cpp中,不要再次包含类声明。 仅具有成员函数定义。

Point.h:

struct Point{
   int x;
   int y;
   bool simsalabim();
};

Point.cc:

#include "Point.h"

bool Point::simsalabim(){
   return (x >= y);
}
1 C中头文件中带有struct参数的函数声明

我的老师说:“创建头文件,并将.c文件中所有函数的函数声明放入头文件中。还要将结构和宏放在头文件中。请确保“保护”此文件免遭多次包含” 好吧,我通过使用来保护标题 我已将所有结构放在此头文件中,并将其包含在我的.c文件中,并且一切正常。 我没有使用任何宏,所以我没有。 问题出在 ...

2 函数内的C ++结构声明

这个问题已经在这里有了答案: 将本地类与STL算法一起使用 2个答案 这可能是一个愚蠢的问题,但是我写了下面的代码。 但是,这并不表示: 如何在函数内部使用结构作为比较器? 还是不可能? ...

3 标头C ++中带有STL的函数声明

我对将程序拆分为header头等的概念很陌生。通常情况下,它还可以,但是在这种情况下,如果我尝试执行下一步操作,则会遇到很多错误: 假设我有一个.cpp文件: 在Header.h我有: 只是函数声明。如果我将它们放在.cpp中,则该程序可以很好地运行,但是如果在Header ...

2015-04-14 20:30:15 2 88   c++
4 C ++头文件和以“= 0”结尾的函数声明

我在.h文件中有以下代码,我不确定赋值语句的作用是什么以及如何正确调用它? 我认为该函数默认返回值为0,但由于此函数返回void,我有点困惑。 任何人都可以对此发表评论并且可能会说我怎么能参考这个赋值,我的意思是如何用C ++术语来调用它? 谢谢。 ...

5 奇怪的C ++头文件功能声明

当我尝试swig -c++ -python my_interface.i时,我正在读取一些试图编译为python绑定的源代码,但出现一个奇怪的错误。 我知道源代码是用C ++ 11编写的。 // module.hpp #pragma once namespace module { ...

6 C ++标头和声明嵌套的结构和类语法

所以我试图用适当的代码定义头文件和声明文件。 在我的课堂上,我使用结构,然后使用结构成员初始化其他功能。 我不确定如何执行将类和结构链接到适当功能的路径,并希望有人可以提供帮助。 这是我的头文件。 我遇到的主要问题是如何在这里的.cpp文件中声明它。例如,如果我想执行插入函数,我将 ...

7 C在头文件中转发struct

我试图在函数中传递struct指针。 我在file1.h中有一个typedef ,并希望只将该头包含到file2.c中,因为file2.h只需要指针。 在C ++中我会像我在这里写的一样,但是使用C99它不起作用。 如果有人有任何建议如何传递struct指针没有完整的定义,将非常感激。 ...

9 C ++禁止在将结构传递给函数时声明没有任何类型错误的…

我无法弄清楚我在做什么错。 我想对列表进行排序,并具有一个比较功能对其进行排序。 找到了可以完全解决我的问题的代码示例,但这对我不起作用。 我总是收到此错误: 错误:ISO C ++禁止声明无类型的“单元格” 细胞不是我的类型吗? AStarPlanner.h ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM