我正在尝试创建一个列表对象,嵌套在其中的迭代器类以了解它是如何工作的.在某些方法中,我试图返回一个迭代器对象,但它不起作用.我创建了一个示例来显示问题:
// CLASS A
template <class T>
class A
{
public:
class B;
A(){}
};
// CLASS B
template <class T>
class A<T>::B
{
private:
int varB;
public:
B(B& b);
B(const int&);
B returnThis();
};
template <class T>
A<T>::B::B(const int& value)
{
varB = value;
}
template <class T>
A<T>::B::B(B& b)
{
varB = b.varB;
}
template <class T>
A<T>::B A<T>::B::returnThis()
{
return *this;
}
// MAIN
void main()
{
A<int>::B classB(10);
}
Run Code Online (Sandbox Code Playgroud)
错误接近这些行:
template <class T>
A<T>::B A<T>::B::returnThis()
Run Code Online (Sandbox Code Playgroud)
编译器告诉我,我错过了一个; …
我有这个数组:
$array = array
(
array('1', '2', '3'),
array('!', '@'),
array('a', 'b', 'c', 'd'),
);
Run Code Online (Sandbox Code Playgroud)
我想知道子数组的所有字符组合..例如:
1!a
1!b
1!c
1!d
1@a
1@b
1@c
1@d
2!a
2!b
2!c
2!d
2@a
2@b
...
Run Code Online (Sandbox Code Playgroud)
目前我有这个代码:
for($i = 0; $i < count($array[0]); $i++)
{
for($j = 0; $j < count($array[1]); $j++)
{
for($k = 0; $k < count($array[2]); $k++)
{
echo $array[0][$i].$array[1][$j].$array[2][$k].'<br/>';
}
}
}
Run Code Online (Sandbox Code Playgroud)
它有效,但我觉得它很难看,当我添加更多数组时,我必须添加更多数组.我很确定有一种方法可以递归地执行此操作,但我不知道如何启动/如何执行此操作.一点帮助可能会很好!
谢谢!
我用call_user_func_array调用一个函数:
call_user_func_array(array($this, 'myFunction'), array('param1', 'param2', 'param3'));
Run Code Online (Sandbox Code Playgroud)
除非我不知道函数需要多少参数,否则一切都很好.如果该函数需要4个参数,它会向我发送一个错误,我想测试是否可以调用该函数(带有一个参数数组).is_callable()不允许参数检查.编辑:如果调用失败,我需要调用另一个函数,这就是我需要检查的原因.
谢谢!
我正在尝试优化我的MySQL查询,我需要一些帮助.这是我目前的查询:
SELECT *,
(SELECT name FROM stores WHERE id = products.store_id) AS store_name,
(SELECT username FROM stores WHERE id = products.store_id) AS store_username,
(SELECT region_id FROM stores WHERE id = products.store_id) AS region_id,
(SELECT city_id FROM stores WHERE id = products.store_id) AS city_id,
(SELECT name FROM categories_sub WHERE id = products.subcategory_id) AS subcategory_name,
(SELECT name FROM categories WHERE id = category_id) AS category_name
FROM products
WHERE date_start <= DATE(NOW()) AND date_end >= DATE(NOW())
Run Code Online (Sandbox Code Playgroud)
我很确定它可以更快.
我也有一个问题,当我尝试按region_id选择所有产品时(通过添加类似"AND region_id = MYID"的东西)它不起作用,我想知道它是否可以让它工作,以及如何?
感谢您的时间!
解 …