Вы пытались написать свои методы вне класса, но внутри пространства имен.
Это недопустимо!
Вот некоторые из проблем, с комментарием, пожалуйста, будьте более точными, чтобы определить ровно одну закрывающую скобку для каждой открывающей скобки: [ 117]
// [...]
} while (temp != 0);
}
} // <== this one closes the class, you should move it after all methods!
public void add_soda()
{
// [...]
Console.WriteLine("Tryck för att återgå till menyn...");
}
} // <== this one closes the namespace, you should move it after the whole code!
public void print_crate()
{
// [...]
Также обратите внимание, что вам нужен using sodacrate;
для создания нового объекта Sodacrate в вашем классе Программы!
Я узнал, что повышение связывает, кажется, хорошо подходит для задачи, плюс Вы может передать дополнительные аргументы методу:
#include <iostream>
#include <functional>
#include <boost/bind.hpp>
#include <vector>
#include <algorithm>
struct Foo {
Foo(int value) : value_(value) {
}
void func(int value) {
std::cout << "member = " << value_ << " argument = " << value << std::endl;
}
private:
int value_;
};
int main() {
std::vector<Foo> foo_vector;
for (int i = 0; i < 5; i++)
foo_vector.push_back(Foo(i));
std::for_each(foo_vector.begin(), foo_vector.end(),
boost::bind(&Foo::func, _1, 1));
}
#include <algorithm> // for_each
#include <functional> // bind
// ...
std::for_each(container.begin(), container.end(),
std::bind(&Type::func));
Посмотрите std::for_each
и std::bind
документация для деталей.
Пропущенный Ваше редактирование: Так или иначе вот другой способ достигнуть того, что Вы хотите, не используя Повышение, если когда-нибудь должны будьте быть:
std::for_each(foo_vector.begin(), foo_vector.end(),
std::bind(&Foo::func, std::placeholders::_1));
Можно использовать станд.:: for_each или конструкции foreach повышения.
Используйте BOOST_FOREACH или BOOST_REVERSE_FOREACH повышения, когда Вы не захотите перемещать логику в другую функцию.
Если Вы на самом деле хотите улучшить производительность, а не просто довольно Ваш код, в чем Вы действительно нуждаетесь, функция карты. Eric Sink записал реализацию .NET