【发布时间】:2019-07-14 08:03:11
【问题描述】:
我正在尝试使用返回函数将 stockname 获取到我的派生类,但它显示错误“类型参数与类型参数不兼容”。 strcpy(名称,s.name()); //问题 我试图使它成为一个常量字符,但这产生了一些错误。 我正在做一个股票市场项目,把你的想法发短信给我。
#include<iostream>
#include<conio.h>
#include<fstream>
#include<string.h>
using namespace std;
class stock
{
char stockname[20];
float istockprice;
float fstockprice;
int demand;
public:
void senter();
void sdisplay();
int demands()
{
return demand;
}
char name()
{
return s.stockname[20];
}
};
class market : public stock
{
char stocksell[20];
char stockbuy[20];
float sellprice;
float rate;
public:
void marketdata();
void rate();
void search();
};
class transaction
{
public:
void credit();
void debit();
void transfer();
};
market m;
transaction t;
stock s;
void market::rate()
{
m.rate = demands();
m.rate += 1;
}
void market::search()
{
char name[30];
strcpy(name,s.name()); //Problem
ifstream search("Marketdata.txt");
if (!search)
{
cout << "Marketdata.txt file error";
return;
}
//while (search.read((char*)& m, sizeof(m)))
//{
// if (strcmp(m.stocksell,name)==0)
//{
//}
// }
}
【问题讨论】:
-
忘记 char[] 并使用 std::string。
-
您返回的不是字符串,而是 1 个字符。而且这个角色已经越界了。 strcpy,只能从字符串复制,不能从单个字符复制。
标签: c++