【发布时间】:2012-12-05 13:23:54
【问题描述】:
我的代码有一个奇怪的问题(或者我只是有点生疏):以下代码:
#include <iostream>
#include <vector>
using namespace std;
typedef vector<double> vDouble;
typedef vector<int> vInt;
//Class for calculations
class CallCosts
{
CallCosts::CallCosts();
CallCosts::CallCosts(vDouble nrates(4, 0)); //Constructor
void CallCosts::setRates(vDouble sr(4, 0));
void CallCosts::getTotals(vDouble gt(4, 0), vInt minutes(4, 0));
vDouble rates(4, 0);
vDouble totals(4, 0);
};
编译器在第 16 行给我一个错误:
CallCosts::CallCosts(vDouble nrates(4, 0)); //Constructor
错误是:在 '(' 标记之前应有 ',' 或 '...'。
现在我很确定我没有错过 ;任何地方,那么还有什么可能导致这种情况?另一个注意事项:我之前使用的是普通变量而不是 typedef,并且代码可以正常工作,所以这可能是问题所在,但除此之外我不确定吗?
提前致谢。
【问题讨论】:
-
请考虑至少阅读一些关于 C++ 的基础书籍。
-
这不仅仅是一点点偏差,因此很难提供帮助。您不能像那样初始化 nrate 参数。或许你可以澄清一下你想要那条线的意思?
-
到处都是'(4, 0)'是什么意思?
-
我正在使用向量来创建数组,而 (4, 0) 是设置大小 - 我假设我做错了吗?我需要将大小调用构建到 typedef 中吗?如果没有 typedef,它看起来像:vector
nrates(4, 0) -
您的所有成员也将是私人的。
标签: c++ class syntax header typedef