向函数传递参数时的警告

诺伯特

因此,我有一个代码可以正常工作,但是我得到了“警告:从不兼容的指针类型传递'outsideBettingHistory'的参数2”,这是为什么呢?我的项目很大,因此我将只重写在警告中起作用的部分,因此您可以自己粘贴并得到相同的错误。

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>

typedef struct Bet {
    char* bets[3][2];
} Bet;

void outsideBettingHistory(int x, char betChosen[0][10], bool won, int result) {
    //You can ignore what is inside this function
    FILE *f;
    f = fopen("bettingHistory.txt", "a");
    if(!f) {
        printf("\nThe bettingHistory.txt not found or unable to open");
        exit(0);
    }
    if(won) {
        fprintf(f, "%s %s", "Bet type: ", betChosen[0]);
        fprintf(f, ". Won %d credits\n", result);
    }
    if(!won) {
        fprintf(f, "%s %s", "Bet type: ", betChosen[0]);
        fprintf(f, ". Lost %d credits\n", result);
    }
    fclose(f);
}

int betColours(int balance, Bet* betTypes) {
      //A lot of stuff that have nothing to do with the warning

      int typeOfBet = 0; //This is the example of 3 variables that this function would give to the outsideBettingHistory(); function
      bool won = false;
      int resultAmount = 8;

      outsideBettingHistory(typeOfBet, betTypes->bets[0][typeOfBet], won, resultAmount);
      return balance;
}


int main() {
     int balance = 100;
     Bet betTypes = { .bets={{"Red", "Black"}, {"Even", "Odd"}, {"1 to 18", "19 to 36"}}};
     betColours(balance, &betTypes);
}

另外,因为void outsideBettingHistory(int x, char betChosen[0][10], bool won, int result)我得到了“注意:预期的'char(*)[10]'但参数的类型为'char *'”,我如何摆脱这些警告?

来自莫斯科的弗拉德

在这次通话中

outsideBettingHistory(typeOfBet, betTypes->bets[0][typeOfBet], won, resultAmount);

第二个参数具有类型,char *因为数据成员押注是该类型的指针的二维数组,char *并且您选择的数组元素bets[0][typeOfBet]与相同,bets[0][0]因为它typeOfBet是由初始化的0那就是您将指向字符串文字第一个字符的指针传递给该函数"Red"

但是函数的第二个参数 outsideBettingHistory

void outsideBettingHistory(int x, char betChosen[0][10], bool won, int result) {

具有类型char ( * )[10]

并且类型不兼容。因此,编译器发出错误。

您应该自己决定要传递给函数的内容以及函数应执行的操作。

如果假设函数outsideBettingHistory必须处理字符串文字(二维数组的元素),则将函数声明为

void outsideBettingHistory(int x, const char *betChosen, bool won, int result) {

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

向javascript函数传递的参数过多时获得警告

来自分类Dev

向javascript函数传递的参数过多时会收到警告

来自分类Dev

向C函数提供错误的参数类型时引发错误/警告

来自分类Dev

向C函数提供错误的参数类型时引发错误/警告

来自分类Dev

警告:错误的参数传递给函数

来自分类Dev

如何向Java函数传递String []参数?

来自分类Dev

如何向Java函数传递String []参数?

来自分类Dev

向R中的dplyr函数传递多个参数时发生错误

来自分类Dev

在Swift 5中将void *参数传递给c函数时,不推荐使用'withUnsafeBytes'警告

来自分类Dev

在将这些参数传递给另一个函数时,如何向...添加默认元素

来自分类Dev

在将这些参数传递给另一个函数时,如何向...添加默认元素

来自分类Dev

在Java中调用函数时的传递参数

来自分类Dev

在函数内部调用管道时传递参数

来自分类Dev

在调用函数时传递附加参数

来自分类Dev

在函数中向R中的lm传递参数

来自分类Dev

* args是向/从装饰函数传递参数的正确方法吗?

来自分类Dev

从对象构造函数向对象的方法传递javascript参数?

来自分类Dev

从角度指令向控制器函数传递多个参数

来自分类Dev

向pthread函数传递和访问多个参数

来自分类Dev

将参数传递给 GUIDE GUI 时发出警告

来自分类Dev

向shell脚本传递参数时,expect shell的异常行为

来自分类Dev

向sub传递几个参数

来自分类Dev

从Fullcalendar向PHP传递参数

来自分类Dev

向传递查询添加参数

来自分类Dev

Golang函数参数是否以写时复制形式传递?

来自分类Dev

将参数传递给bash函数时,“ $ @”和“ $ *”之间的区别

来自分类Dev

在带有可变参数的函数中传递“枚举”时出错

来自分类Dev

传递函数参数时的C ++执行顺序

来自分类Dev

在递归函数中传递大量列表作为参数时的性能?

Related 相关文章

  1. 1

    向javascript函数传递的参数过多时获得警告

  2. 2

    向javascript函数传递的参数过多时会收到警告

  3. 3

    向C函数提供错误的参数类型时引发错误/警告

  4. 4

    向C函数提供错误的参数类型时引发错误/警告

  5. 5

    警告:错误的参数传递给函数

  6. 6

    如何向Java函数传递String []参数?

  7. 7

    如何向Java函数传递String []参数?

  8. 8

    向R中的dplyr函数传递多个参数时发生错误

  9. 9

    在Swift 5中将void *参数传递给c函数时,不推荐使用'withUnsafeBytes'警告

  10. 10

    在将这些参数传递给另一个函数时,如何向...添加默认元素

  11. 11

    在将这些参数传递给另一个函数时,如何向...添加默认元素

  12. 12

    在Java中调用函数时的传递参数

  13. 13

    在函数内部调用管道时传递参数

  14. 14

    在调用函数时传递附加参数

  15. 15

    在函数中向R中的lm传递参数

  16. 16

    * args是向/从装饰函数传递参数的正确方法吗?

  17. 17

    从对象构造函数向对象的方法传递javascript参数?

  18. 18

    从角度指令向控制器函数传递多个参数

  19. 19

    向pthread函数传递和访问多个参数

  20. 20

    将参数传递给 GUIDE GUI 时发出警告

  21. 21

    向shell脚本传递参数时,expect shell的异常行为

  22. 22

    向sub传递几个参数

  23. 23

    从Fullcalendar向PHP传递参数

  24. 24

    向传递查询添加参数

  25. 25

    Golang函数参数是否以写时复制形式传递?

  26. 26

    将参数传递给bash函数时,“ $ @”和“ $ *”之间的区别

  27. 27

    在带有可变参数的函数中传递“枚举”时出错

  28. 28

    传递函数参数时的C ++执行顺序

  29. 29

    在递归函数中传递大量列表作为参数时的性能?

热门标签

归档