A repository where I'll put experiments learning, proving or disproving things about C++. These experiments will feature measurements, use Tracy to show behavior, and generally have the goal of simplifying normal C++ usage.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

29 lines
550 B

#include <iostream>
#include "fix2.hpp"
#include <cassert>
using std::cout;
void RenderTarget::draw(const Drawable& drawable) {
drawable.draw(*this);
}
void Shape::draw(RenderTarget& target) const {
assert(false && "You should not call this, use shape.draw(target) instead.");
}
void Shape::draw(RenderTarget &target) {
cout << "shape renders without const instead\n";
}
int main() {
RenderTarget target;
Shape shape;
// uncomment this to see the error when used wrong
// target.draw(shape);
shape.draw(target);
return 0;
}