gpt4 book ai didi

c++ - 没有匹配函数调用 'ANDingOctets'

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:24:09 25 4
gpt4 key购买 nike

我收到错误消息“由于某种原因没有匹配函数调用‘ANDingOctets’,想帮助我理解为什么吗?这个函数对我来说没问题...(它不是一个完整的功能虽然还没有。)

//
// ANDingOctets.cpp
// Egetskojs
//
// Created by Axel Kennedal on 2014-02-12.
// Copyright (c) 2014 Axel Kennedal. All rights reserved.
//

#include <iostream>
#include <string>
using namespace std;

string ANDingOctets(string octetIP, string & octetSubNet);

int main(){

/* EXAMPLE ADDRESSES
string IPaddress = "192.168.0.12";
string subNetMask = "255.255.255.0";*/

string netID = ANDingOctets("10110110","11111000");
cout << netID << endl;

return 0;
}

string ANDingOctets(string octetIP, string & octetSubNet){
int subNetBits;


for (char index = 0; index < 8; index++) {
if (octetSubNet.at(index) == '1') {
subNetBits++;
}
else break;
}
cout << subNetBits << endl;
return "test";
}

最佳答案

第二个参数是引用:

string ANDingOctets(string octetIP, string & octetSubNet);
^

并且您不能通过非常量引用传递临时字符串 - 这是一个稍微古怪的语言规则,旨在防止您不小心修改错误的内容。

如果函数不打算修改参数,则按值(如第一个参数)或常量引用(const string &)传递。

如果打算对其进行修改(似乎并非如此),那么您需要传递一个非临时变量:

string subnet = "11111000";
string netID = ANDingOctets("10110110",subnet);

关于c++ - 没有匹配函数调用 'ANDingOctets',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21759791/

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