我几天前开始学习C ++,现在我正在尝试制作我的第一个程序,一个“电话簿”应用程序。我知道的人的名字会出现,我会输入我需要的人的姓名,他们的号码会出现。
但是现在我正在调试一段时间,我仍然没有得到我的代码有什么问题!我很确定这很明显,但我太新了,无法得到它。
test = " anything goes here, STR1 GET_ME STR2, anything goes here STR1 GET_ME2 STR2"
pattern="STR1 (.*?) STR2"
result <- regmatches(test,regexec(pattern,test))
result[[1]][2]
[1] "GET_ME"
以下列出了我在Visual Studio 2013上编译时遇到的所有错误:
答案 0 :(得分:1)
从哪里开始?
在你的功能中:
int enterName()
{
std::cout << "Enter the name you wish to obtain the number:";
int name;
std::cin >> name;
return name;
}
用户应该插入名称,但name
变量的类型已声明为int
(这是整数的类型< / em>数字)。我现在的问题是:为什么一个人的名字应该编成一个数字?
只需使用string类型。
#include <string> // You have to include this header to use string object
// ...
std::string enterName()
{
std::cout << "Enter the name you wish to obtain the number:";
std::string name;
std::cin >> name;
return name;
}
注意:关于如何从标准输入中获取字符串有很多注意事项,但我不是你的c ++老师,在你的情况下,我认为这个论点现在与你的技能相差甚远。
另一个问题是:
int link(name)
{
// do something ...
}
在您的声明函数name
中没有输入。这是一个错误!变量必须有一个类型作为参数。
此外,您的body函数返回“ string ”类型:
return "965 4541"; // return a const char[]
那么为什么你声明你的函数返回int
类型?
std::string link(const std::string& name) // declaration signature
即使在此函数中,类型也是错误的:
int printNumber (int number)
{
std::cout << "The number is: " << number << std::endl;
}
应该是:
void printNumber (const std::string& number)
{
std::cout << "The number is: " << number << std::endl;
}
void
作为返回类型,因为你的函数没有返回任何内容。
我发现你的语言基线技能不足。我建议你学习一本好的C ++书籍,并从中开始编码。
答案 1 :(得分:0)
“标识符”名称“未定义”您没有在函数链接中声明变量名称,正确的是int main (string name)
,您需要string
。
“返回值类型与函数类型不匹配”,例如使用函数int link(string name)
,如果要返回电话号码或者将其返回为8506589(无空格)或者您更改了将类型返回到字符串,以便它考虑一个字符串并接受诸如 - 或空格之类的东西。
3-不需要stdafx标头,删除此行并谷歌以了解更多信息。
4-您将名称声明为int,您应该声明为字符串。
老兄,你的代码有很多问题,你应该考虑去看一些youtube视频你是想自己学习并先看一些c编程的视频,试试新浪的视频...我只帮助了你的几个错误。
答案 2 :(得分:0)
使用using namespace std
和string name
您正在使用一个整数。整数仅适用于数字,不适用于字符串。 string name; cin >> name